Updated category data XML file.
Adapted from: L2jUnity free files.
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>SIGEL_CANDIDATE</category>
|
||||
<category>TANKER_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32264" count="1" /> <!-- Abelius' Power - Sigel Knight -->
|
||||
@@ -26,7 +26,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>TYRR_CANDIDATE</category>
|
||||
<category>WARRIOR_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32265" count="1" /> <!-- Sapyros' Power - Tyrr Warrior -->
|
||||
@@ -35,7 +35,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>OTHELL_CANDIDATE</category>
|
||||
<category>ROGUE_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32266" count="1" /> <!-- Ashagen's Power - Othell Rogue -->
|
||||
@@ -44,7 +44,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>YUL_CANDIDATE</category>
|
||||
<category>ARCHER_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32267" count="1" /> <!-- Cranigg's Power - Yul Archer -->
|
||||
@@ -53,7 +53,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>FEOH_CANDIDATE</category>
|
||||
<category>WIZARD_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32268" count="1" /> <!-- Soltkreig's Power - Feoh Wizard -->
|
||||
@@ -62,7 +62,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>WYNN_CANDIDATE</category>
|
||||
<category>SUMMONER_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32269" count="1" /> <!-- Naviarope's Power - Wynn Summoner -->
|
||||
@@ -71,7 +71,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>ISS_CANDIDATE</category>
|
||||
<category>ENCHANTER_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32270" count="1" /> <!-- Leister's Power - Iss Enchanter -->
|
||||
@@ -80,7 +80,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>AEORE_CANDIDATE</category>
|
||||
<category>HEALER_CATEGORY</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="32271" count="1" /> <!-- Lakcis' Power - Aeore Healer -->
|
||||
@@ -89,7 +89,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>EVISCERATOR_CANDIDATE</category>
|
||||
<category>ERTHEIA_THIRD_FIGHTER_GROUP</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="40268" count="1" /> <!-- Sayha's Box - Eviscerator -->
|
||||
@@ -98,7 +98,7 @@
|
||||
</classChangeOption>
|
||||
<classChangeOption name="Free">
|
||||
<appliesTo>
|
||||
<category>SAYHA_SEER_CANDIDATE</category>
|
||||
<category>ERTHEIA_THIRD_WIZARD_GROUP</category>
|
||||
</appliesTo>
|
||||
<rewards>
|
||||
<item id="40269" count="1" /> <!-- Sayha's Box - Sayha's Seer -->
|
||||
|
8189
L2J_Mobius_3.0_Helios/dist/game/data/CategoryData.xml
vendored
8189
L2J_Mobius_3.0_Helios/dist/game/data/CategoryData.xml
vendored
File diff suppressed because it is too large
Load Diff
@@ -68,17 +68,16 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
private static final int CHAOS_POMANDER = 37374;
|
||||
private static final int CHAOS_POMANDER_DUAL_CLASS = 37375;
|
||||
private static final Map<CategoryType, Integer> AWAKE_POWER = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
AWAKE_POWER.put(CategoryType.SIGEL_GROUP, 32264);
|
||||
AWAKE_POWER.put(CategoryType.TYRR_GROUP, 32265);
|
||||
AWAKE_POWER.put(CategoryType.OTHELL_GROUP, 32266);
|
||||
AWAKE_POWER.put(CategoryType.YUL_GROUP, 32267);
|
||||
AWAKE_POWER.put(CategoryType.FEOH_GROUP, 32268);
|
||||
AWAKE_POWER.put(CategoryType.ISS_GROUP, 32269);
|
||||
AWAKE_POWER.put(CategoryType.WYNN_GROUP, 32270);
|
||||
AWAKE_POWER.put(CategoryType.AEORE_GROUP, 32271);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_SIGEL_GROUP, 32264);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_TIR_GROUP, 32265);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_OTHEL_GROUP, 32266);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_YR_GROUP, 32267);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_FEOH_GROUP, 32268);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_WYNN_GROUP, 32269);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_IS_GROUP, 32270);
|
||||
AWAKE_POWER.put(CategoryType.SIXTH_EOLH_GROUP, 32271);
|
||||
}
|
||||
|
||||
// Skills
|
||||
@@ -117,7 +116,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
{
|
||||
case SIGEL_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.SIGEL_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.TANKER_CATEGORY))
|
||||
{
|
||||
return SIGEL_MASTER + "-no_class.htm";
|
||||
}
|
||||
@@ -125,7 +124,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
}
|
||||
case TYRR_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.TYRR_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.WARRIOR_CATEGORY))
|
||||
{
|
||||
return TYRR_MASTER + "-no_class.htm";
|
||||
}
|
||||
@@ -133,7 +132,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
}
|
||||
case OTHELL_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.OTHELL_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.ROGUE_CATEGORY))
|
||||
{
|
||||
return OTHELL_MASTER + "-no_class.htm";
|
||||
}
|
||||
@@ -141,7 +140,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
}
|
||||
case YUL_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.YUL_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.ARCHER_CATEGORY))
|
||||
{
|
||||
return YUL_MASTER + "-no_class.htm";
|
||||
}
|
||||
@@ -149,7 +148,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
}
|
||||
case FEOH_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.FEOH_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.WIZARD_CATEGORY))
|
||||
{
|
||||
return FEOH_MASTER + "-no_class.htm";
|
||||
}
|
||||
@@ -157,7 +156,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
}
|
||||
case ISS_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.ISS_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.ENCHANTER_CATEGORY))
|
||||
{
|
||||
return ISS_MASTER + "-no_class.htm";
|
||||
}
|
||||
@@ -165,7 +164,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
}
|
||||
case WYNN_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.WYNN_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.SUMMONER_CATEGORY))
|
||||
{
|
||||
return WYNN_MASTER + "-no_class.htm";
|
||||
}
|
||||
@@ -173,7 +172,7 @@ public final class AwakeningMaster extends AbstractNpcAI
|
||||
}
|
||||
case AEORE_MASTER:
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.AEORE_CANDIDATE))
|
||||
if (!player.isInCategory(CategoryType.HEALER_CATEGORY))
|
||||
{
|
||||
return AEORE_MASTER + "-no_class.htm";
|
||||
}
|
||||
|
@@ -62,7 +62,7 @@ public final class Hadel extends AbstractNpcAI
|
||||
}
|
||||
case "teleportToHarnak":
|
||||
{
|
||||
if ((!player.isInCategory(CategoryType.AWAKEN_GROUP)) || (player.getLevel() < 85))
|
||||
if ((!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP)) || (player.getLevel() < 85))
|
||||
{
|
||||
htmltext = "33344-noClass.html";
|
||||
break;
|
||||
|
@@ -183,7 +183,7 @@ public final class Hardin extends AbstractNpcAI
|
||||
return "33870-02.html";
|
||||
}
|
||||
}
|
||||
if (!player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
return "33870-no.html";
|
||||
}
|
||||
|
@@ -78,7 +78,7 @@ public final class MonkOfChaos extends AbstractNpcAI
|
||||
}
|
||||
case "LearnRevelationSkills":
|
||||
{
|
||||
if ((player.getLevel() < MIN_LEVEL) || !player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if ((player.getLevel() < MIN_LEVEL) || !player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "no-learn.html";
|
||||
break;
|
||||
@@ -139,7 +139,7 @@ public final class MonkOfChaos extends AbstractNpcAI
|
||||
}
|
||||
}
|
||||
|
||||
if ((player.getLevel() < MIN_LEVEL) || !player.isInCategory(CategoryType.AWAKEN_GROUP) || (count == 0))
|
||||
if ((player.getLevel() < MIN_LEVEL) || !player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) || (count == 0))
|
||||
{
|
||||
htmltext = "no-cancel.html";
|
||||
break;
|
||||
|
@@ -111,14 +111,14 @@ public final class Raina extends AbstractNpcAI
|
||||
|
||||
private static final Map<CategoryType, Integer> classCloak = new HashMap<>();
|
||||
{
|
||||
classCloak.put(CategoryType.SIGEL_GROUP, 30310); // Abelius Cloak
|
||||
classCloak.put(CategoryType.TYRR_GROUP, 30311); // Sapyros Cloak Grade
|
||||
classCloak.put(CategoryType.OTHELL_GROUP, 30312); // Ashagen Cloak Grade
|
||||
classCloak.put(CategoryType.YUL_GROUP, 30313); // Cranigg Cloak Grade
|
||||
classCloak.put(CategoryType.FEOH_GROUP, 30314); // Soltkreig Cloak Grade
|
||||
classCloak.put(CategoryType.WYNN_GROUP, 30315); // Naviarope Cloak Grade
|
||||
classCloak.put(CategoryType.ISS_GROUP, 30316); // Leister Cloak Grade
|
||||
classCloak.put(CategoryType.AEORE_GROUP, 30317); // Laksis Cloak Grade
|
||||
classCloak.put(CategoryType.SIXTH_SIGEL_GROUP, 30310); // Abelius Cloak
|
||||
classCloak.put(CategoryType.SIXTH_TIR_GROUP, 30311); // Sapyros Cloak Grade
|
||||
classCloak.put(CategoryType.SIXTH_OTHEL_GROUP, 30312); // Ashagen Cloak Grade
|
||||
classCloak.put(CategoryType.SIXTH_YR_GROUP, 30313); // Cranigg Cloak Grade
|
||||
classCloak.put(CategoryType.SIXTH_FEOH_GROUP, 30314); // Soltkreig Cloak Grade
|
||||
classCloak.put(CategoryType.SIXTH_WYNN_GROUP, 30315); // Naviarope Cloak Grade
|
||||
classCloak.put(CategoryType.SIXTH_IS_GROUP, 30316); // Leister Cloak Grade
|
||||
classCloak.put(CategoryType.SIXTH_EOLH_GROUP, 30317); // Laksis Cloak Grade
|
||||
}
|
||||
|
||||
private static final List<PlayerClass> dualClassList = new ArrayList<>();
|
||||
@@ -290,7 +290,7 @@ public final class Raina extends AbstractNpcAI
|
||||
case "ertheiaDualClass":
|
||||
{
|
||||
// TODO: Maybe html is different when you have 85lvl but you haven't completed quest
|
||||
if ((player.getRace() != Race.ERTHEIA) || (player.getLevel() < 85) || !player.isInCategory(CategoryType.AWAKEN_GROUP) || player.hasDualClass() || !haveDoneQuest(player, true))
|
||||
if ((player.getRace() != Race.ERTHEIA) || (player.getLevel() < 85) || !player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) || player.hasDualClass() || !haveDoneQuest(player, true))
|
||||
{
|
||||
htmltext = "addDualClassErtheiaFailed.html";
|
||||
}
|
||||
@@ -309,7 +309,7 @@ public final class Raina extends AbstractNpcAI
|
||||
case "addDualClass_WYNN_GROUP":
|
||||
case "addDualClass_AEORE_GROUP":
|
||||
{
|
||||
if ((player.getRace() != Race.ERTHEIA) || (player.getLevel() < 85) || !player.isInCategory(CategoryType.AWAKEN_GROUP) || player.hasDualClass() || !haveDoneQuest(player, true))
|
||||
if ((player.getRace() != Race.ERTHEIA) || (player.getLevel() < 85) || !player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) || player.hasDualClass() || !haveDoneQuest(player, true))
|
||||
{
|
||||
htmltext = "addDualClassErtheiaFailed.html";
|
||||
break;
|
||||
@@ -659,31 +659,31 @@ public final class Raina extends AbstractNpcAI
|
||||
private void addPowerItem(L2PcInstance player)
|
||||
{
|
||||
int itemId = ABELIUS_POWER; // Sigel
|
||||
if (player.isInCategory(CategoryType.TYRR_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||
{
|
||||
itemId = SAPYROS_POWER;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.OTHELL_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||
{
|
||||
itemId = ASHAGEN_POWER;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.YUL_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||
{
|
||||
itemId = CRANIGG_POWER;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FEOH_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||
{
|
||||
itemId = SOLTKREIG_POWER;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.WYNN_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||
{
|
||||
itemId = NAVIAROPE_POWER;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.ISS_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||
{
|
||||
itemId = LEISTER_POWER;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AEORE_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||
{
|
||||
itemId = LAKCIS_POWER;
|
||||
}
|
||||
@@ -905,37 +905,37 @@ public final class Raina extends AbstractNpcAI
|
||||
{
|
||||
CategoryType catType = null;
|
||||
|
||||
if (player.isInCategory(CategoryType.SIGEL_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_SIGEL_GROUP))
|
||||
{
|
||||
catType = CategoryType.SIGEL_GROUP;
|
||||
catType = CategoryType.SIXTH_SIGEL_GROUP;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.TYRR_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||
{
|
||||
catType = CategoryType.TYRR_GROUP;
|
||||
catType = CategoryType.SIXTH_TIR_GROUP;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.OTHELL_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||
{
|
||||
catType = CategoryType.OTHELL_GROUP;
|
||||
catType = CategoryType.SIXTH_OTHEL_GROUP;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.YUL_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||
{
|
||||
catType = CategoryType.YUL_GROUP;
|
||||
catType = CategoryType.SIXTH_YR_GROUP;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FEOH_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_FEOH_GROUP))
|
||||
{
|
||||
catType = CategoryType.FEOH_GROUP;
|
||||
catType = CategoryType.SIXTH_FEOH_GROUP;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.ISS_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||
{
|
||||
catType = CategoryType.ISS_GROUP;
|
||||
catType = CategoryType.SIXTH_IS_GROUP;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.WYNN_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||
{
|
||||
catType = CategoryType.WYNN_GROUP;
|
||||
catType = CategoryType.SIXTH_WYNN_GROUP;
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AEORE_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||
{
|
||||
catType = CategoryType.AEORE_GROUP;
|
||||
catType = CategoryType.SIXTH_EOLH_GROUP;
|
||||
}
|
||||
return classCloak.get(catType);
|
||||
}
|
||||
|
@@ -152,7 +152,7 @@ public final class KimerianCommon extends AbstractInstance
|
||||
{
|
||||
if (hasQuestItems(player, FLUTE))
|
||||
{
|
||||
if (player.isInCategory(CategoryType.AEORE_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||
{
|
||||
addSpawn(FAIRY_REBEL, player.getX() + 60, player.getY(), player.getZ(), 0, false, 0, false, instance.getId());
|
||||
addSpawn(FAIRY_REBEL, player.getX() - 60, player.getY(), player.getZ(), 0, false, 0, false, instance.getId());
|
||||
|
491
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/AdventureGuildsman.java
vendored
Normal file
491
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/AdventureGuildsman.java
vendored
Normal file
@@ -0,0 +1,491 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program 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.
|
||||
*
|
||||
* This program 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 ai.others.AdventureGuildsman;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.MultisellData;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
import com.l2jmobius.gameserver.model.skills.Skill;
|
||||
import com.l2jmobius.gameserver.model.skills.SkillCaster;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.ExShowQuestInfo;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Adventure Guildsman AI.
|
||||
* @author ChaosPaladin
|
||||
*/
|
||||
public class AdventureGuildsman extends AbstractNpcAI
|
||||
{
|
||||
// NPC
|
||||
private static final int ADVENTURE_GUILDSMAN = 33946;
|
||||
// Items
|
||||
private static final int PCCAFE_LOTTERY_TICKET_30DAYS = 15358;
|
||||
private static final int PCCAFE_1ST_LOTTERY_TICKET_30DAYS = 15359;
|
||||
private static final int PCCAFE_2ND_LOTTERY_TICKET_30DAYS = 15360;
|
||||
private static final int PCCAFE_3RD_LOTTERY_TICKET_30DAYS = 15361;
|
||||
private static final int PCCAFE_4TH_LOTTERY_TICKET_30DAYS = 15362;
|
||||
private static final int PCCAFE_5TH_LOTTERY_TICKET_30DAYS = 15363;
|
||||
private static final int VOUCHER_LEV_85 = 17739;
|
||||
private static final int VOUCHER_LEV_90 = 17740;
|
||||
private static final int VOUCHER_LEV_95 = 17741;
|
||||
private static final int VOUCHER_LEV_97 = 17742;
|
||||
private static final int SEAL_LEV_85 = 17743;
|
||||
private static final int SEAL_LEV_90 = 17744;
|
||||
private static final int SEAL_LEV_95 = 17745;
|
||||
private static final int SEAL_LEV_97 = 17746;
|
||||
// Skills
|
||||
private static final SkillHolder KNIGHT = new SkillHolder(17294, 1); // Player Commendation - Knight's Harmony
|
||||
private static final SkillHolder WARRIOR = new SkillHolder(17295, 1); // Player Commendation - Warrior's Harmony
|
||||
private static final SkillHolder WIZARD = new SkillHolder(17296, 1); // Player Commendation - Wizard's Harmony
|
||||
private static final SkillHolder[] GROUP_MELODY =
|
||||
{
|
||||
new SkillHolder(9273, 1), // Player Commendation - Horn Melody
|
||||
new SkillHolder(9274, 1), // Player Commendation - Drum Melody
|
||||
new SkillHolder(9275, 1), // Player Commendation - Lute Melody
|
||||
new SkillHolder(9276, 1), // Player Commendation - Pipe Organ Melody
|
||||
new SkillHolder(9277, 1), // Player Commendation - Guitar Melody
|
||||
new SkillHolder(9278, 1), // Player Commendation - Harp Melody
|
||||
};
|
||||
private static final SkillHolder[] GROUP_SONATA =
|
||||
{
|
||||
new SkillHolder(17291, 1), // Player Commendation - Prevailing Sonata
|
||||
new SkillHolder(17292, 1), // Player Commendation - Daring Sonata
|
||||
new SkillHolder(17293, 1), // Player Commendation - Refreshing Sonata
|
||||
};
|
||||
// Misc
|
||||
//@formatter:off
|
||||
private static final Map<CategoryType, Integer> R_CLASS_TALISMAN = new HashMap<>();
|
||||
{
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_SIGEL_GROUP, 735);
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_TIR_GROUP, 736);
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_OTHEL_GROUP, 737);
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_YR_GROUP, 738);
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_WYNN_GROUP, 739);
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_IS_GROUP, 740);
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_FEOH_GROUP, 741);
|
||||
R_CLASS_TALISMAN.put(CategoryType.SIXTH_EOLH_GROUP, 742);
|
||||
R_CLASS_TALISMAN.put(CategoryType.ERTHEIA_FIGHTER_GROUP, 736);
|
||||
R_CLASS_TALISMAN.put(CategoryType.ERTHEIA_WIZARD_GROUP, 741);
|
||||
}
|
||||
private static final Map<CategoryType, Integer> R90_CLASS_TALISMAN = new HashMap<>();
|
||||
{
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_SIGEL_GROUP, 743);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_TIR_GROUP, 744);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_OTHEL_GROUP, 745);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_YR_GROUP, 746);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_WYNN_GROUP, 747);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_IS_GROUP, 748);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_FEOH_GROUP, 749);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.SIXTH_EOLH_GROUP, 750);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.ERTHEIA_FIGHTER_GROUP, 744);
|
||||
R90_CLASS_TALISMAN.put(CategoryType.ERTHEIA_WIZARD_GROUP, 749);
|
||||
}
|
||||
private static final Map<CategoryType, Integer> R95_CLASS_TALISMAN = new HashMap<>();
|
||||
{
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_SIGEL_GROUP, 751);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_TIR_GROUP, 752);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_OTHEL_GROUP, 753);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_YR_GROUP, 754);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_WYNN_GROUP, 755);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_IS_GROUP, 756);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_FEOH_GROUP, 757);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.SIXTH_EOLH_GROUP, 758);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.ERTHEIA_FIGHTER_GROUP, 752);
|
||||
R95_CLASS_TALISMAN.put(CategoryType.ERTHEIA_WIZARD_GROUP, 757);
|
||||
}
|
||||
private static final Map<CategoryType, Integer> R99_CLASS_TALISMAN = new HashMap<>();
|
||||
{
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_SIGEL_GROUP, 759);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_TIR_GROUP, 760);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_OTHEL_GROUP, 761);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_YR_GROUP, 762);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_WYNN_GROUP, 763);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_IS_GROUP, 764);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_FEOH_GROUP, 765);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.SIXTH_EOLH_GROUP, 766);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.ERTHEIA_FIGHTER_GROUP, 760);
|
||||
R99_CLASS_TALISMAN.put(CategoryType.ERTHEIA_WIZARD_GROUP, 765);
|
||||
}
|
||||
//@formatter:on
|
||||
private static final String USED_PC_LOTTERY_TICKET = "USED_PC_LOTTERY_TICKET";
|
||||
|
||||
private AdventureGuildsman()
|
||||
{
|
||||
addStartNpc(ADVENTURE_GUILDSMAN);
|
||||
addTalkId(ADVENTURE_GUILDSMAN);
|
||||
addFirstTalkId(ADVENTURE_GUILDSMAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
|
||||
switch (event)
|
||||
{
|
||||
case "pccafe_list":
|
||||
{
|
||||
htmltext = "pccafe_list001.htm";
|
||||
break;
|
||||
}
|
||||
case "quest_list":
|
||||
{
|
||||
player.sendPacket(ExShowQuestInfo.STATIC_PACKET);
|
||||
break;
|
||||
}
|
||||
case "buff_list":
|
||||
{
|
||||
htmltext = "pccafe_buff_1001.htm";
|
||||
break;
|
||||
}
|
||||
case "item_list":
|
||||
{
|
||||
htmltext = "pccafe_item001.htm";
|
||||
break;
|
||||
}
|
||||
case "pccafe_help_inzone001.htm":
|
||||
case "pccafe_help_lottery001.htm":
|
||||
case "pccafe_help_lottery002.htm":
|
||||
case "adventurer_agent_town_voucher_change.htm":
|
||||
case "life_crystal_merge001.htm":
|
||||
case "life_crystal_merge002.htm":
|
||||
case "voucher_trader1001.htm":
|
||||
case "voucher_trader2001.htm":
|
||||
case "voucher_trader3001.htm":
|
||||
case "voucher_trader4001.htm":
|
||||
case "voucher_trader1004.htm":
|
||||
case "voucher_trader2004.htm":
|
||||
case "voucher_trader3004.htm":
|
||||
case "voucher_trader4004.htm":
|
||||
case "voucher_trader1005.htm":
|
||||
case "voucher_trader2005.htm":
|
||||
case "voucher_trader3005.htm":
|
||||
case "voucher_trader4005.htm":
|
||||
case "voucher_trader1006.htm":
|
||||
case "voucher_trader2006.htm":
|
||||
case "voucher_trader3006.htm":
|
||||
case "voucher_trader4006.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "index":
|
||||
{
|
||||
htmltext = player.getLevel() < 40 ? "adventurer_agent_town_77001.htm" : "adventurer_agent_town_77001e.htm";
|
||||
break;
|
||||
}
|
||||
case "buff_setlist":
|
||||
{
|
||||
htmltext = "pccafe_newbuff_001.htm";
|
||||
break;
|
||||
}
|
||||
case "buff_group":
|
||||
{
|
||||
htmltext = player.getPcCafePoints() >= 120 ? applyBuffsGroup(npc, player, GROUP_MELODY.length) : "pccafe_buff_1001.htm";
|
||||
break;
|
||||
}
|
||||
case "knight":
|
||||
{
|
||||
htmltext = player.getPcCafePoints() >= 200 ? applyBuffs(npc, player, KNIGHT.getSkill()) : "pccafe_buff_1001.htm";
|
||||
break;
|
||||
}
|
||||
case "warrior":
|
||||
{
|
||||
htmltext = player.getPcCafePoints() >= 200 ? applyBuffs(npc, player, WARRIOR.getSkill()) : "pccafe_buff_1001.htm";
|
||||
break;
|
||||
}
|
||||
case "wizard":
|
||||
{
|
||||
htmltext = player.getPcCafePoints() >= 200 ? applyBuffs(npc, player, WIZARD.getSkill()) : "pccafe_buff_1001.htm";
|
||||
break;
|
||||
}
|
||||
case "give_lottery_ticket":
|
||||
{
|
||||
if (!player.getVariables().getBoolean(USED_PC_LOTTERY_TICKET, false))
|
||||
{
|
||||
player.getVariables().set(USED_PC_LOTTERY_TICKET, true);
|
||||
giveItems(player, PCCAFE_LOTTERY_TICKET_30DAYS, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "pccafe_help_lottery_notoneday.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "trade_10":
|
||||
{
|
||||
htmltext = tradeItem(player, PCCAFE_5TH_LOTTERY_TICKET_30DAYS, 10);
|
||||
break;
|
||||
}
|
||||
case "trade_100":
|
||||
{
|
||||
htmltext = tradeItem(player, PCCAFE_4TH_LOTTERY_TICKET_30DAYS, 100);
|
||||
break;
|
||||
}
|
||||
case "trade_200":
|
||||
{
|
||||
htmltext = tradeItem(player, PCCAFE_3RD_LOTTERY_TICKET_30DAYS, 200);
|
||||
break;
|
||||
}
|
||||
case "trade_1000":
|
||||
{
|
||||
htmltext = tradeItem(player, PCCAFE_2ND_LOTTERY_TICKET_30DAYS, 1000);
|
||||
break;
|
||||
}
|
||||
case "trade_10000":
|
||||
{
|
||||
htmltext = tradeItem(player, PCCAFE_1ST_LOTTERY_TICKET_30DAYS, 10000);
|
||||
break;
|
||||
}
|
||||
case "trade_seal85":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
if (hasQuestItems(player, VOUCHER_LEV_85))
|
||||
{
|
||||
takeItems(player, VOUCHER_LEV_85, 1);
|
||||
giveItems(player, SEAL_LEV_85, 20);
|
||||
addExpAndSp(player, 60000000, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader1003b.htm";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader1007.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "trade_seal90":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
if (hasQuestItems(player, VOUCHER_LEV_90))
|
||||
{
|
||||
takeItems(player, VOUCHER_LEV_90, 1);
|
||||
giveItems(player, SEAL_LEV_90, 20);
|
||||
addExpAndSp(player, 66000000, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader2003b.htm";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader1007.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "trade_seal95":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
if (hasQuestItems(player, VOUCHER_LEV_95))
|
||||
{
|
||||
takeItems(player, VOUCHER_LEV_95, 1);
|
||||
giveItems(player, SEAL_LEV_95, 20);
|
||||
addExpAndSp(player, 68000000, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader3003b.htm";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader1007.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "trade_seal97":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
if (hasQuestItems(player, VOUCHER_LEV_97))
|
||||
{
|
||||
takeItems(player, VOUCHER_LEV_97, 1);
|
||||
giveItems(player, SEAL_LEV_97, 20);
|
||||
addExpAndSp(player, 76000000, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader3003b.htm";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "voucher_trader1007.htm";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "give_talismanR_by_class":
|
||||
{
|
||||
int multisellId = -1;
|
||||
|
||||
for (CategoryType type : R_CLASS_TALISMAN.keySet())
|
||||
{
|
||||
if (player.isInCategory(type))
|
||||
{
|
||||
multisellId = R_CLASS_TALISMAN.get(type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (multisellId > 0)
|
||||
{
|
||||
MultisellData.getInstance().separateAndSend(multisellId, player, npc, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "give_talismanR90_by_class":
|
||||
{
|
||||
int multisellId = -1;
|
||||
|
||||
for (CategoryType type : R90_CLASS_TALISMAN.keySet())
|
||||
{
|
||||
if (player.isInCategory(type))
|
||||
{
|
||||
multisellId = R90_CLASS_TALISMAN.get(type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (multisellId > 0)
|
||||
{
|
||||
MultisellData.getInstance().separateAndSend(multisellId, player, npc, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "give_talismanR95_by_class":
|
||||
{
|
||||
int multisellId = -1;
|
||||
for (CategoryType type : R95_CLASS_TALISMAN.keySet())
|
||||
{
|
||||
if (player.isInCategory(type))
|
||||
{
|
||||
multisellId = R95_CLASS_TALISMAN.get(type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (multisellId > 0)
|
||||
{
|
||||
MultisellData.getInstance().separateAndSend(multisellId, player, npc, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case "give_talismanR99_by_class":
|
||||
{
|
||||
int multisellId = -1;
|
||||
|
||||
for (CategoryType type : R99_CLASS_TALISMAN.keySet())
|
||||
{
|
||||
if (player.isInCategory(type))
|
||||
{
|
||||
multisellId = R99_CLASS_TALISMAN.get(type);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (multisellId > 0)
|
||||
{
|
||||
MultisellData.getInstance().separateAndSend(multisellId, player, npc, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (event.startsWith("melody"))
|
||||
{
|
||||
final int buffOffset = CommonUtil.constrain(Integer.parseInt(event.substring(event.indexOf(" ") + 1)), 0, GROUP_MELODY.length);
|
||||
if (player.getPcCafePoints() >= 20)
|
||||
{
|
||||
npc.setTarget(player);
|
||||
npc.doCast(GROUP_MELODY[buffOffset].getSkill());
|
||||
player.setPcCafePoints(player.getPcCafePoints() - 20);
|
||||
htmltext = "pccafe_buff_1001.htm";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "pccafe_notpoint001.htm";
|
||||
}
|
||||
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private String applyBuffs(L2Npc npc, L2PcInstance player, Skill skill)
|
||||
{
|
||||
for (SkillHolder holder : GROUP_MELODY)
|
||||
{
|
||||
SkillCaster.triggerCast(npc, player, holder.getSkill());
|
||||
}
|
||||
for (SkillHolder holder : GROUP_SONATA)
|
||||
{
|
||||
SkillCaster.triggerCast(npc, player, holder.getSkill());
|
||||
}
|
||||
SkillCaster.triggerCast(npc, player, skill);
|
||||
player.setPcCafePoints(player.getPcCafePoints() - 200);
|
||||
return null;
|
||||
}
|
||||
|
||||
private String applyBuffsGroup(L2Npc npc, L2PcInstance player, int length)
|
||||
{
|
||||
for (SkillHolder holder : GROUP_MELODY)
|
||||
{
|
||||
SkillCaster.triggerCast(npc, player, holder.getSkill());
|
||||
}
|
||||
player.setPcCafePoints(player.getPcCafePoints() - 120);
|
||||
return null;
|
||||
}
|
||||
|
||||
private String tradeItem(L2PcInstance player, int itemId, int points)
|
||||
{
|
||||
if (player.getPcCafePoints() >= 200000)
|
||||
{
|
||||
return "pccafe_help_lottery_fail2.htm";
|
||||
}
|
||||
|
||||
if (takeItems(player, itemId, 1))
|
||||
{
|
||||
player.setPcCafePoints(player.getPcCafePoints() + points);
|
||||
return "pccafe_help_lottery003.htm";
|
||||
}
|
||||
return "pccafe_help_lottery_fail.htm";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
return player.getLevel() < 40 ? "adventurer_agent_town_77001.htm" : "adventurer_agent_town_77001e.htm";
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new AdventureGuildsman();
|
||||
}
|
||||
}
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
The Adventure Guild gathers information on all adventures in all over the world and gives to adventurers. We're all-round information merchants. As you can imagine, we get real busy whenever events occur on the Aden Continent.<br>
|
||||
Now that we're <font color="LEVEL">exchanging Adventurer's Marks and Seals</font> as well, we're even busier.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">"I want to exchange Adventurer's Marks and Seals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman life_crystal_merge001.htm">"I'd like to use a Life Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman quest_list">Quest info</Button>
|
||||
</body></html>
|
@@ -0,0 +1,8 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
The Adventure Guild gathers information on all adventures in all over the world and gives to adventurers. We're all-round information merchants. As you can imagine, we get real busy whenever events occur on the Aden Continent.<br>
|
||||
Now that we're <font color="LEVEL">exchanging Adventurer's Marks and Seals</font> as well, we're even busier.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman pccafe_list"><font color="LEVEL">"I'd like to use my PC Points."</font></Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">"I want to exchange Adventurer's Marks and Seals."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman life_crystal_merge001.htm">"I'd like to use a Life Crystal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman quest_list">Quest info</Button>
|
||||
</body></html>
|
@@ -0,0 +1,10 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Do you want to exchange Adventurer's Marks and Seals?<br>
|
||||
Here at the Adventure Guild, you can exchange Marks or Seals of Loyalty, Pledge, Sincerity, and Spirit.<br>
|
||||
Select the one you want to exchange.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader1001.htm">"I want to exchange an 'Adventurer's Mark - Loyalty', 'Seal of Loyalty."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader2001.htm">"I want to exchange an 'Adventurer's Mark - Pledge', 'Seal of Pledge."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader3001.htm">"I want to exchange an 'Adventurer's Mark - Sincerity', 'Seal of Sincerity."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader4001.htm">"I want to exchange an 'Adventurer's Mark - Spirit', 'Seal of Spirit."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman index">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,9 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Do you carry any Life Crystals with you?<br>
|
||||
Due to some strange new influence, it has become impossible to gain any Life Crystals from the monsters on the Aden Continent.<br>
|
||||
Whatever life crystals you have will be exchanged at the same value as before. We are working to identify the cause... please rest assured nothing will go wrong, and exchange your crystals with the supplies we have prepared.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 602">Exchange for a new Life Crystal</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 548">Craft Adventurer's Box</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman life_crystal_merge002.htm">Craft Life Crystal</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman index">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,17 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
The Adventure Guild has arranged a new system for exchanging special commodities associated with crafting Life Crystals, for the convenience of our adventurers. Now, you can exchange the commodities of choice whenever and wherever. Please select the village you'd like.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 533">Innadril Specialties - B/C-grade Sword</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 534">Gludio Specialties - B/C-grade Blunt Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 535">Goddard Specialties - B/C-grade Bow/Gloves</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 536">Gludin Specialties - B/C-grade Dagger</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 537">Giran Specialties - B/C-grade Fist/Shield</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 538">Hunter's Village Specialties - B/C-grade Spear</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 539">Aden Specialties - B/C-grade Staff/Boots</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 540">Schuttgart Specialties - B/C-grade Heavy Armor</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 541">Rune Specialties - B/C-grade Light Armor</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 542">Oren Specialties - B/C-grade Robe</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 543">Dion Specialties - B/C-grade Helmet</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 544">Other Specialties - A-grade Weapon</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 545">Other Specialties - A-grade Armor</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman life_crystal_merge001.htm">Back</Button>
|
||||
</body></html>
|
17
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/pccafe_buff_1001.htm
vendored
Normal file
17
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/pccafe_buff_1001.htm
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<html><body>Adventure Guildsman:<br>Buffs are back, new and improved! And they're easier to use than ever with your PC Points!<br>
|
||||
<font color="LEVEL">6 Melodies + Harmony (of your choice) + 3 Sonatas</font><br1>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman buff_setlist">Receive a buff set.</Button>
|
||||
<br>
|
||||
<font color="LEVEL">Set of 6 Melodies</font><br1>
|
||||
Horn Melody / Drum Melody / Pipe Organ Melody / Guitar Melody / Harp Melody / Lute Melody<br1>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman buff_group">Buff Set - 120 Points</Button>
|
||||
<br>
|
||||
<font color="LEVEL">Individual Buffs</font><br1>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman melody 0">(Horn Melody) Lv. 1 - 20 Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman melody 1">(Drum Melody) Lv. 1 - 20 Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman melody 2">(Pipe Organ Melody) Lv. 1 - 20 Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman melody 3">(Guitar Melody) Lv. 1 - 20 Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman melody 4">(Harp Melody) Lv. 1 - 20 Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman melody 5">(Lute Melody) Lv. 1 - 20 Points</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Interested in obtaining special benefits that you can enjoy with PC points?<br>
|
||||
<font color="LEVEL">To visit the PC Cafe Instant Zones</font>, visit the <font color="LEVEL">Gludio Castle, Town of Dion, Heine, Town of Oren, Town of Schuttgart, and Town of Rune</font>, and find the <font color="LEVEL">Guard Captain</font> or the <font color="LEVEL">Pathfinder Worker</font>. See you soon!<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
The PC Cafe Lottery Ticket is a lottery which gives out up to 10,000 PC Points!.<br>
|
||||
It is available every day, free of charge, once a day, to PC Cafe users.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman give_lottery_ticket">"Give me a PC Cafe Lottery Ticket!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman pccafe_help_lottery002.htm">"I want to redeem my winning ticket for PC points."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,10 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
If you have a winning lottery ticket, give it to me and I'll give you the appropriate PC points.<br>
|
||||
So, how much did you win?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_10000">10,000 PC Cafe Points </Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_1000">1000 PC Cafe Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_200">200 PC Cafe Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_100">100 PC Cafe Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_10">10 PC Cafe Points</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Congratulations!<br>
|
||||
More luck awaits you next time.<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
I couldn't find any lottery tickets that correspond to the PC Cafe points you have won. Please check your Lottery Tickets again.<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
If the sum of your current PC Cafe Points and the new PC Cafe Points you have won exceeds 200,000 points, the points you have won cannot be issued.<br>
|
||||
Please return after you have used up more PC Cafe Points.<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You have already participated in the PC Cafe Lottery Ticket.<br>
|
||||
The PC Cafe Lottery Ticket is issued only once a day. Your next ticket can be issued after 6:30 AM.<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,5 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You're not a PC Cafe user.<br>
|
||||
PC Lottery Tickets are issued to users who have come online from a PC Cafe.<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/pccafe_item001.htm
vendored
Normal file
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/pccafe_item001.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Here are the items you can purchase using PC Cafe Points.<br>
|
||||
All items bought with PC Points, except Firecrackers and Large Firecrackers, cannot be <font color="LEVEL">exchanged, dropped, sold in a private store, or stored in a warehouse.</font><br1>
|
||||
(Item Appearance Stones can be exchanged and sold.)<br>
|
||||
Now, make your selection!<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 2017">"I want to buy a functional item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 2124">"I want to buy a decoration."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 2167"><font color="LEVEL">"I need a PC-exclusive Paulina Weapon or Amor"</font></Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
9
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/pccafe_list001.htm
vendored
Normal file
9
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/pccafe_list001.htm
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You're come from a PC Cafe! This special shop will enable you to buy all kinds of different items and services with your Player Commendation (PC) points.<br>
|
||||
Just make your choice!<br>
|
||||
<font color="LEVEL"><Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman buff_list">"Give me some buffs if you got any."</Button></font>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman item_list">"I want to purchase items."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman pccafe_help_lottery001.htm">"Tell me about the PC Cafe Lotter Tickets."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman pccafe_help_inzone001.htm">"Tell me about PC Cafe Instanced Zones."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman index">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,9 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Select either Knight's Harmony, Warrior's Harmony, or Wizard's Harmony, and I will give you the buffs below regardless of your selection.<br>
|
||||
<font color="LEVEL">Shared Buffs</font><br1>
|
||||
Horn Melody / Drum Melody / Pipe Organ Melody / Guitar Melody / Harp Melody / Lute Melody / Prevailing Sonata / Daring Sonata / Refreshing Sonata<br1>(The 3 Sonatas have the same power as the Sonatas for Adventurers.)<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman knight">Receive Knights' Harmony and buffs - 200 Points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman warrior">Receive Warrior's Harmony and buffs - 200 points</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman wizard">Receive Wizard's Harmony and buffs - 200 points</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman pccafe_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
I'm sorry, you don't have enough Internet Cafe points to make that purchase. Please check your points balance and make another selection.<br>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman quest_list">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You don't have a Adventurer's Mark. Are you positive that you're an adventurer?<br>
|
||||
<Button ALIGN="LEFT" ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader1001.htm
vendored
Normal file
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader1001.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Would you like to exchange an Adventurer's Mark - Loyalty or a Seal of Loyalty?<br>
|
||||
The Adventurer's Guild exchanges an <font color="LEVEL">Adventurer's Mark - Loyalty</font> for a <font color="LEVEL">Seal of Loyalty</font> <font color="LEVEL">once a day</font>.<br>
|
||||
If you have a seal, you can exchange it for useful items right here. However, we are having some trouble bringing in items, so please keep in mind that we had to raise our prices.<br>
|
||||
Would you like to make an exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_seal85">"I want to exchange an Adventurer's Mark - Loyalty for a seal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 720">"I want to see the list of items that can be exchanged for a Seal of Loyalty."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader1004.htm">'"I want to exchange this Seal of Loyalty for a talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You don't have a Adventurer's Mark. Are you positive that you're an adventurer?<br>
|
||||
<Button ALIGN="LEFT" ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Do you need a talisman?<br>
|
||||
Can I interest you in some lovely ordinary or occupational talismans? Hmm?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader1005.htm">"I'd like an ordinary talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman give_talismanR_by_class">"An occupational talisman, please."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You mean a regular talisman? I have active and passive talismans. Which would you like?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 731">"I need an active talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 727">"I need a passive talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader1006.htm
vendored
Normal file
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader1006.htm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Which occupational talisman do you seek?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 735">Sigel Knight</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 736">Tyrr Warrior</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 737">Othel Rogue</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 738">Yul Archer</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 739">Wynn Summoner</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 740">Iss Enchanter</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 741">Feoh Wizard</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 742">Aeore Healer</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
I'm sorry, but I can only exchange marks with seals for an <font color="LEVEL">awakened</font> adventurer.<br>
|
||||
<Button ALIGN="LEFT" ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader2001.htm
vendored
Normal file
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader2001.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Would you like to exchange an Adventurer's Mark - Pledge or a Seal of Pledge?<br>
|
||||
The Adventurer's Guild exchanges an <font color="LEVEL">Adventurer's Mark - Pledge</font> for a <font color="LEVEL">Seal of Pledge</font> <font color="LEVEL">once a day</font>.<br>
|
||||
If you have a seal, you can exchange it for useful items right here. However, we are having some trouble bringing in items, so please keep in mind that we had to raise our prices.<br>
|
||||
Would you like to make an exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_seal90">"I want to exchange an Adventurer's Mark - Pledge for a seal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 721">"I want to see the list of items that can be exchange with a Seal of Pledge."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader2004.htm">'"I want to exchange this Seal of Pledge for a talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You don't have a Adventurer's Mark. Are you positive that you're an adventurer?<br>
|
||||
<Button ALIGN="LEFT" ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Do you need a talisman?<br>
|
||||
Can I interest you in some lovely ordinary or occupational talismans? Hmm?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader2005.htm">"I'd like an ordinary talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman give_talismanR90_by_class">"An occupational talisman, please."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You mean a regular talisman? I have active and passive talismans. Which would you like?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 732">"I need an active talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 728">"I need a passive talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader2006.htm
vendored
Normal file
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader2006.htm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Occupational talismans? Yes, I have a large selection. What type are you looking for?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 743">Sigel Knight</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 744">Tyrr Warrior</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 745">Othel Rogue</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 746">Yul Archer</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 747">Wynn Summoner</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 748">Iss Enchanter</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 749">Feoh Wizard</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 750">Aeore Healer</Button>
|
||||
</body></html>
|
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader3001.htm
vendored
Normal file
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader3001.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Would you like to exchange an Adventurer's Mark - Sincerity or a Seal of Sincerity?<br>
|
||||
The Adventurer's Guild exchanges an <font color="LEVEL">Adventurer's Mark - Sincerity</font> for a <font color="LEVEL">Seal of Sincerity</font> <font color="LEVEL">once a day</font>.<br>
|
||||
If you have a seal, you can exchange it for useful items right here. However, we are having some trouble bringing in items, so please keep in mind that we had to raise our prices.<br>
|
||||
Would you like to make an exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_seal95">"I want to exchange an Adventurer's Mark - Sincerity for a seal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 722">"I want to see the list of items that can be exchange with a Seal of Sincerity."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader3004.htm">'"I want to exchange this Seal of Sincerity for a talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You don't have a Adventurer's Mark. Are you positive that you're an adventurer?<br>
|
||||
<Button ALIGN="LEFT" ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Do you need a talisman?<br>
|
||||
Can I interest you in some lovely ordinary or occupational talismans? Hmm?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader3005.htm">"I'd like an ordinary talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman give_talismanR95_by_class">"An occupational talisman, please."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You mean a regular talisman? I have active and passive talismans. Which would you like?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 733">"I need an active talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 729">"I need a passive talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader3006.htm
vendored
Normal file
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader3006.htm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You're looking for talismans for your occupation? Which talismans do you seek?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 751">Sigel Knight</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 752">Tyrr Warrior</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 753">Othel Rogue</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 754">Yul Archer</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 755">Wynn Summoner</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 756">Iss Enchanter</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 757">Feoh Wizard</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 758">Aeore Healer</Button>
|
||||
</body></html>
|
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader4001.htm
vendored
Normal file
10
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader4001.htm
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Would you like to exchange an Adventurer's Mark - Spirit or a Seal of Spirit?<br>
|
||||
The Adventurer's Guild exchanges an <font color="LEVEL">Adventurer's Mark - Spirit</font> for a <font color="LEVEL">Seal of Spirit</font> <font color="LEVEL">once a day</font>.<br>
|
||||
If you have a seal, you can exchange it for useful items right here. However, we are having some trouble bringing in items, so please keep in mind that we had to raise our prices.<br>
|
||||
Would you like to make an exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman trade_seal97">"I want to exchange an Adventurer's Mark - Spirit for a seal."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 723">"I want to see the list of items that can be exchange with a Seal of Spirit."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader4004.htm">'"I want to exchange this Seal of Spirit for a talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,4 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You don't have a Adventurer's Mark. Are you positive that you're an adventurer?<br>
|
||||
<Button ALIGN="LEFT" ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,7 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Do you need a talisman?<br>
|
||||
Can I interest you in some lovely ordinary or occupational talismans? Hmm?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman voucher_trader4005.htm">"I'd like an ordinary talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AdventureGuildsman give_talismanR99_by_class">"An occupational talisman, please."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
@@ -0,0 +1,6 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
You mean a regular talisman? I have active and passive talismans. Which would you like?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 734">"I need an active talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 730">"I need a passive talisman."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="bypass -h Quest AdventureGuildsman adventurer_agent_town_voucher_change.htm">Back</Button>
|
||||
</body></html>
|
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader4006.htm
vendored
Normal file
11
L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/AdventureGuildsman/voucher_trader4006.htm
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Adventure Guildsman:<br>
|
||||
Occupational talismans? Hmm? Why, yes. I do have some. Which ones do you seek?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 759">Sigel Knight</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 760">Tyrr Warrior</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 761">Othel Rogue</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 762">Yul Archer</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 763">Wynn Summoner</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 764">Iss Enchanter</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 765">Feoh Wizard</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_multisell 766">Aeore Healer</Button>
|
||||
</body></html>
|
@@ -53,6 +53,9 @@ public final class AdventurersGuide extends AbstractNpcAI
|
||||
new SkillHolder(15652, 1), // Daring Sonata (Adventurer)
|
||||
new SkillHolder(15653, 1), // Refreshing Sonata (Adventurer)
|
||||
};
|
||||
// Misc
|
||||
private static int MAX_LEVEL_BUFFS = 94;
|
||||
private static int MIN_LEVEL_PROTECTION = 40;
|
||||
|
||||
private AdventurersGuide()
|
||||
{
|
||||
@@ -115,7 +118,7 @@ public final class AdventurersGuide extends AbstractNpcAI
|
||||
|
||||
private String applyBuffs(L2Npc npc, L2PcInstance player, Skill skill)
|
||||
{
|
||||
if (player.getLevel() > 94)
|
||||
if (player.getLevel() > MAX_LEVEL_BUFFS)
|
||||
{
|
||||
return "guide-noBuffs.html";
|
||||
}
|
||||
@@ -126,7 +129,7 @@ public final class AdventurersGuide extends AbstractNpcAI
|
||||
}
|
||||
SkillCaster.triggerCast(npc, player, skill);
|
||||
|
||||
if ((player.getLevel() < 40) && (player.getClassId().level() <= 1))
|
||||
if ((player.getLevel() < MIN_LEVEL_PROTECTION) && (player.getClassId().level() <= 1))
|
||||
{
|
||||
SkillCaster.triggerCast(npc, player, BLESS_PROTECTION.getSkill());
|
||||
}
|
||||
|
@@ -121,14 +121,14 @@ public final class CastleCourtMagician extends AbstractNpcAI
|
||||
// Misc
|
||||
private static final CategoryType[] AWAKENED_CT =
|
||||
{
|
||||
CategoryType.SIGEL_GROUP,
|
||||
CategoryType.TYRR_GROUP,
|
||||
CategoryType.OTHELL_GROUP,
|
||||
CategoryType.YUL_GROUP,
|
||||
CategoryType.FEOH_GROUP,
|
||||
CategoryType.ISS_GROUP,
|
||||
CategoryType.WYNN_GROUP,
|
||||
CategoryType.AEORE_GROUP,
|
||||
CategoryType.SIXTH_SIGEL_GROUP,
|
||||
CategoryType.SIXTH_TIR_GROUP,
|
||||
CategoryType.SIXTH_OTHEL_GROUP,
|
||||
CategoryType.SIXTH_YR_GROUP,
|
||||
CategoryType.SIXTH_FEOH_GROUP,
|
||||
CategoryType.SIXTH_IS_GROUP,
|
||||
CategoryType.SIXTH_WYNN_GROUP,
|
||||
CategoryType.SIXTH_EOLH_GROUP,
|
||||
};
|
||||
|
||||
private CastleCourtMagician()
|
||||
@@ -266,7 +266,7 @@ public final class CastleCourtMagician extends AbstractNpcAI
|
||||
}
|
||||
case "giveTalismanR":
|
||||
{
|
||||
htmltext = player.isInCategory(CategoryType.AWAKEN_GROUP) ? "courtmagician-09.html" : "courtmagician-10.html";
|
||||
htmltext = player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) ? "courtmagician-09.html" : "courtmagician-10.html";
|
||||
break;
|
||||
}
|
||||
case "giveTalismanR_classSpecific":
|
||||
|
@@ -297,7 +297,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
{
|
||||
htmltext = "test_server_helper011.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
@@ -319,7 +319,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
htmltext = "test_server_helper021.html";
|
||||
}
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
@@ -352,7 +352,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (player.getLevel() >= 85)) // 9
|
||||
{
|
||||
canChange = CategoryData.getInstance().isInCategory(CategoryType.AWAKEN_GROUP, classId); // 11
|
||||
canChange = CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, classId); // 11
|
||||
}
|
||||
|
||||
if (canChange)
|
||||
@@ -422,7 +422,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
{
|
||||
player.setBaseClass(player.getActiveClass());
|
||||
}
|
||||
if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
SkillTreesData.getInstance().cleanSkillUponAwakening(player);
|
||||
for (L2SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace()))
|
||||
@@ -450,7 +450,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
case "learnskills":
|
||||
{
|
||||
// Retail class master only lets you learn all third class skills.
|
||||
if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper001_failed.html";
|
||||
}
|
||||
@@ -578,7 +578,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
{
|
||||
htmltext = "test_server_helper011.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
@@ -762,7 +762,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
{
|
||||
htmltext = "test_server_helper011.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
@@ -853,7 +853,7 @@ public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
{
|
||||
player.setBaseClass(player.getActiveClass());
|
||||
}
|
||||
if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
SkillTreesData.getInstance().cleanSkillUponAwakening(player);
|
||||
for (L2SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace()))
|
||||
|
@@ -97,7 +97,7 @@ public final class HermuncusMinion extends AbstractNpcAI
|
||||
|
||||
if (event.equals("teleportList"))
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "HermuncusMinion-no.html";
|
||||
}
|
||||
@@ -155,7 +155,7 @@ public final class HermuncusMinion extends AbstractNpcAI
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
return player.isInCategory(CategoryType.AWAKEN_GROUP) ? "HermuncusMinion.html" : "HermuncusMinion-no.html";
|
||||
return player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) ? "HermuncusMinion.html" : "HermuncusMinion-no.html";
|
||||
}
|
||||
|
||||
private String generateButton(Integer locationId)
|
||||
|
@@ -369,7 +369,7 @@ public final class MentorGuide extends AbstractNpcAI implements IGameXmlReader
|
||||
|
||||
handleMenteeSkills(player);
|
||||
|
||||
if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
handleGraduateMentee(player);
|
||||
}
|
||||
|
@@ -57,16 +57,15 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler
|
||||
private static final int MANAGER = 31688;
|
||||
// Misc
|
||||
private static final Map<CategoryType, Integer> EQUIPMENT_MULTISELL = new HashMap<>();
|
||||
|
||||
{
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIGEL_GROUP, 917);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.TYRR_GROUP, 918);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.OTHELL_GROUP, 919);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.YUL_GROUP, 920);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.FEOH_GROUP, 921);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.ISS_GROUP, 923);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.WYNN_GROUP, 922);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.AEORE_GROUP, 924);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_SIGEL_GROUP, 917);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_TIR_GROUP, 918);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_OTHEL_GROUP, 919);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_YR_GROUP, 920);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_FEOH_GROUP, 921);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_IS_GROUP, 923);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_WYNN_GROUP, 922);
|
||||
EQUIPMENT_MULTISELL.put(CategoryType.SIXTH_EOLH_GROUP, 924);
|
||||
}
|
||||
|
||||
private static final String[] BYPASSES =
|
||||
@@ -144,7 +143,7 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler
|
||||
{
|
||||
htmltext = "OlyManager-subclass.html";
|
||||
}
|
||||
else if (!player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
else if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "OlyManager-awaken.html";
|
||||
}
|
||||
|
@@ -416,7 +416,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
}
|
||||
|
||||
final String newclass = ClassListData.getInstance().getClass(player.getClassId()).getClassName();
|
||||
if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
SkillTreesData.getInstance().cleanSkillUponAwakening(player);
|
||||
for (L2SkillLearn skill : SkillTreesData.getInstance().getRaceSkillTree(player.getRace()))
|
||||
|
@@ -114,7 +114,7 @@ public final class AirBind extends AbstractEffect
|
||||
for (L2PcInstance nearbyPlayer : L2World.getInstance().getVisibleObjects(effected, L2PcInstance.class, 1200))
|
||||
{
|
||||
if ((nearbyPlayer.getRace() != Race.ERTHEIA) && (nearbyPlayer.getTarget() == effected) //
|
||||
&& nearbyPlayer.isInCategory(CategoryType.AWAKEN_GROUP) && !nearbyPlayer.isAlterSkillActive())
|
||||
&& nearbyPlayer.isInCategory(CategoryType.SIXTH_CLASS_GROUP) && !nearbyPlayer.isAlterSkillActive())
|
||||
{
|
||||
final int chainSkill = _chainedAirSkills.get(nearbyPlayer.getClassId());
|
||||
if (nearbyPlayer.getSkillRemainingReuseTime(chainSkill) == -1)
|
||||
|
@@ -173,7 +173,7 @@ public final class KnockBack extends AbstractEffect
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if ((nearbyPlayer.getTarget() == effected) && nearbyPlayer.isInCategory(CategoryType.AWAKEN_GROUP) && !nearbyPlayer.isAlterSkillActive())
|
||||
if ((nearbyPlayer.getTarget() == effected) && nearbyPlayer.isInCategory(CategoryType.SIXTH_CLASS_GROUP) && !nearbyPlayer.isAlterSkillActive())
|
||||
{
|
||||
final int chainSkill = _chainKnockSkills.get(nearbyPlayer.getClassId());
|
||||
if (nearbyPlayer.getSkillRemainingReuseTime(chainSkill) == -1)
|
||||
|
@@ -148,7 +148,7 @@ public class PaulinasSupportBox implements IItemHandler
|
||||
}
|
||||
case ORC:
|
||||
{
|
||||
if (player.isMageClass() || CategoryData.getInstance().isInCategory(CategoryType.TYRR_CANDIDATE, classId.getId()))
|
||||
if (player.isMageClass() || CategoryData.getInstance().isInCategory(CategoryType.WARRIOR_CATEGORY, classId.getId()))
|
||||
{
|
||||
player.addItem(getClass().getSimpleName(), BOX_C_LIGHT, 1, player, true);
|
||||
}
|
||||
@@ -203,7 +203,7 @@ public class PaulinasSupportBox implements IItemHandler
|
||||
}
|
||||
case ORC:
|
||||
{
|
||||
if (player.isMageClass() || CategoryData.getInstance().isInCategory(CategoryType.TYRR_CANDIDATE, classId.getId()))
|
||||
if (player.isMageClass() || CategoryData.getInstance().isInCategory(CategoryType.WARRIOR_CATEGORY, classId.getId()))
|
||||
{
|
||||
player.addItem(getClass().getSimpleName(), BOX_A_LIGHT, 1, player, true);
|
||||
}
|
||||
@@ -258,7 +258,7 @@ public class PaulinasSupportBox implements IItemHandler
|
||||
}
|
||||
case ORC:
|
||||
{
|
||||
if (player.isMageClass() || CategoryData.getInstance().isInCategory(CategoryType.TYRR_CANDIDATE, classId.getId()))
|
||||
if (player.isMageClass() || CategoryData.getInstance().isInCategory(CategoryType.WARRIOR_CATEGORY, classId.getId()))
|
||||
{
|
||||
player.addItem(getClass().getSimpleName(), BOX_S_LIGHT, 1, player, true);
|
||||
}
|
||||
@@ -301,7 +301,7 @@ public class PaulinasSupportBox implements IItemHandler
|
||||
{
|
||||
player.addItem(getClass().getSimpleName(), BOX_R_ROBE, 1, player, true);
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.OTHELL_GROUP, classId.getId()) || CategoryData.getInstance().isInCategory(CategoryType.YUL_GROUP, classId.getId()))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, classId.getId()) || CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, classId.getId()))
|
||||
{
|
||||
player.addItem(getClass().getSimpleName(), BOX_R_LIGHT, 1, player, true);
|
||||
}
|
||||
|
@@ -79,17 +79,16 @@ public final class HarnakUndergroundRuins extends AbstractInstance
|
||||
private static final int DOOR_ONE = 16240100;
|
||||
private static final int DOOR_TWO = 16240102;
|
||||
private static final Map<CategoryType, Integer> MOB_CATEGORY = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
MOB_CATEGORY.put(CategoryType.SIGEL_CANDIDATE, RAKZAN);
|
||||
MOB_CATEGORY.put(CategoryType.TYRR_CANDIDATE, KRAKIA_BATHUS);
|
||||
MOB_CATEGORY.put(CategoryType.OTHELL_CANDIDATE, BAMONTI);
|
||||
MOB_CATEGORY.put(CategoryType.YUL_CANDIDATE, KRAKIA_CARCASS);
|
||||
MOB_CATEGORY.put(CategoryType.FEOH_CANDIDATE, WEISS_KHAN);
|
||||
MOB_CATEGORY.put(CategoryType.ISS_CANDIDATE, SEKNUS);
|
||||
MOB_CATEGORY.put(CategoryType.WYNN_CANDIDATE, KRAKIA_LOTUS);
|
||||
MOB_CATEGORY.put(CategoryType.AEORE_CANDIDATE, WEISS_ELE);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_SIGEL_GROUP, RAKZAN);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_TIR_GROUP, KRAKIA_BATHUS);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_OTHEL_GROUP, BAMONTI);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_YR_GROUP, KRAKIA_CARCASS);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_FEOH_GROUP, WEISS_KHAN);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_IS_GROUP, SEKNUS);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_WYNN_GROUP, KRAKIA_LOTUS);
|
||||
MOB_CATEGORY.put(CategoryType.SIXTH_EOLH_GROUP, WEISS_ELE);
|
||||
}
|
||||
|
||||
public HarnakUndergroundRuins()
|
||||
|
@@ -363,27 +363,27 @@ public final class Nursery extends AbstractInstance
|
||||
{
|
||||
int pointsCount = getRandom(6) + 3;
|
||||
|
||||
if (killer.isInCategory(CategoryType.SIGEL_GROUP) || killer.isInCategory(CategoryType.AEORE_GROUP))
|
||||
if (killer.isInCategory(CategoryType.SIXTH_SIGEL_GROUP) || killer.isInCategory(CategoryType.SIXTH_EOLH_GROUP))
|
||||
{
|
||||
pointsCount += 6;
|
||||
}
|
||||
else if (killer.isInCategory(CategoryType.TYRR_GROUP))
|
||||
else if (killer.isInCategory(CategoryType.SIXTH_TIR_GROUP))
|
||||
{
|
||||
pointsCount -= 1;
|
||||
}
|
||||
else if (killer.isInCategory(CategoryType.OTHELL_GROUP))
|
||||
else if (killer.isInCategory(CategoryType.SIXTH_OTHEL_GROUP))
|
||||
{
|
||||
pointsCount += 2;
|
||||
}
|
||||
else if (killer.isInCategory(CategoryType.YUL_GROUP))
|
||||
else if (killer.isInCategory(CategoryType.SIXTH_YR_GROUP))
|
||||
{
|
||||
pointsCount += 1;
|
||||
}
|
||||
else if (killer.isInCategory(CategoryType.FEOH_GROUP) || killer.isInCategory(CategoryType.ISS_GROUP))
|
||||
else if (killer.isInCategory(CategoryType.SIXTH_FEOH_GROUP) || killer.isInCategory(CategoryType.SIXTH_IS_GROUP))
|
||||
{
|
||||
pointsCount += 0;
|
||||
}
|
||||
else if (killer.isInCategory(CategoryType.WYNN_GROUP))
|
||||
else if (killer.isInCategory(CategoryType.SIXTH_WYNN_GROUP))
|
||||
{
|
||||
pointsCount += 3;
|
||||
}
|
||||
|
@@ -239,39 +239,39 @@ public final class Q00177_SplitDestiny extends Quest
|
||||
{
|
||||
htmltext = "33344-02.htm";
|
||||
}
|
||||
else if (!CategoryData.getInstance().isInCategory(CategoryType.AWAKEN_GROUP, player.getBaseClass()))
|
||||
else if (!CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, player.getBaseClass()))
|
||||
{
|
||||
htmltext = "33344-03.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIGEL_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.SIGEL_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_SIGEL_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.TANKER_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-sigel.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.TYRR_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.TYRR_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_TIR_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.WARRIOR_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-tyrr.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.OTHELL_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.OTHELL_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_OTHEL_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.ROGUE_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-othell.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.YUL_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.YUL_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_YR_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.ARCHER_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-yul.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.FEOH_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.FEOH_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_FEOH_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.WIZARD_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-feoh.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.ISS_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.ISS_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_IS_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.ENCHANTER_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-iss.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.WYNN_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.WYNN_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_WYNN_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.SUMMONER_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-wynn.htm";
|
||||
}
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.AEORE_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.AEORE_CANDIDATE))
|
||||
else if (CategoryData.getInstance().isInCategory(CategoryType.SIXTH_EOLH_GROUP, player.getBaseClass()) && player.isInCategory(CategoryType.HEALER_CATEGORY))
|
||||
{
|
||||
htmltext = "33344-aeore.htm";
|
||||
}
|
||||
|
@@ -91,7 +91,7 @@ public final class Q10338_SeizeYourDestiny extends Quest
|
||||
}
|
||||
case "33477-03.html":
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
qs.setSimulated(false);
|
||||
qs.setState(State.CREATED);
|
||||
@@ -149,7 +149,7 @@ public final class Q10338_SeizeYourDestiny extends Quest
|
||||
{
|
||||
htmltext = "33477-06.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP) || hasQuestItems(player, SCROLL_OF_AFTERLIFE.getId()))
|
||||
else if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) || hasQuestItems(player, SCROLL_OF_AFTERLIFE.getId()))
|
||||
{
|
||||
htmltext = "33477-05.html";
|
||||
}
|
||||
@@ -167,7 +167,7 @@ public final class Q10338_SeizeYourDestiny extends Quest
|
||||
}
|
||||
case HADEL:
|
||||
{
|
||||
if (player.isInCategory(CategoryType.AWAKEN_GROUP) || hasQuestItems(player, SCROLL_OF_AFTERLIFE.getId()))
|
||||
if (player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) || hasQuestItems(player, SCROLL_OF_AFTERLIFE.getId()))
|
||||
{
|
||||
htmltext = "33344-07.html";
|
||||
}
|
||||
|
@@ -62,7 +62,7 @@ public final class Q10339_FightingTheForgotten extends Quest
|
||||
addTalkId(THEODORE, HADEL);
|
||||
addKillId(MONSTERS);
|
||||
addCondMinLevel(MIN_LV, "32975-06.html");
|
||||
addCondInCategory(CategoryType.AWAKEN_GROUP, "32975-06.html");
|
||||
addCondInCategory(CategoryType.SIXTH_CLASS_GROUP, "32975-06.html");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1972,7 +1972,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
|
@@ -4618,7 +4618,7 @@
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<collision>
|
||||
<radius normal="40" />
|
||||
<height normal="81" />
|
||||
@@ -4935,7 +4935,7 @@
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<collision>
|
||||
<radius normal="90" />
|
||||
<height normal="190" />
|
||||
@@ -5617,7 +5617,7 @@
|
||||
<item id="39629" min="2" max="2" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<collision>
|
||||
<radius normal="13" />
|
||||
<height normal="55" />
|
||||
@@ -5681,6 +5681,7 @@
|
||||
<skill id="14621" level="1" /> <!-- Pulling Resistance -->
|
||||
</skill_list>
|
||||
<ai type="BALANCED" clanHelpRange="300" aggroRange="300" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="7500000" max="13000000" chance="100" /> <!-- Adena -->
|
||||
@@ -5773,7 +5774,6 @@
|
||||
<item id="39629" min="2" max="2" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="12" />
|
||||
<height normal="29" />
|
||||
@@ -5883,6 +5883,7 @@
|
||||
<skill id="14621" level="1" /> <!-- Pulling Resistance -->
|
||||
</skill_list>
|
||||
<ai type="BALANCED" clanHelpRange="300" aggroRange="300" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="7500000" max="13000000" chance="100" /> <!-- Adena -->
|
||||
@@ -5975,7 +5976,6 @@
|
||||
<item id="39629" min="2" max="2" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="15" />
|
||||
<height normal="32" />
|
||||
|
@@ -57,7 +57,7 @@
|
||||
<skill id="14621" level="1" /> <!-- Pulling Resistance -->
|
||||
</skill_list>
|
||||
<ai type="BALANCED" clanHelpRange="300" aggroRange="300" />
|
||||
<status undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<collision>
|
||||
<radius normal="15" />
|
||||
<height normal="32" />
|
||||
@@ -109,7 +109,7 @@
|
||||
<skill id="14765" level="2" /> <!-- Blood Siphon Resistance -->
|
||||
</skill_list>
|
||||
<ai clanHelpRange="300" aggroRange="300" />
|
||||
<status targetable="false" showName="false" undying="false" />
|
||||
<status targetable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<collision>
|
||||
<radius normal="90" />
|
||||
<height normal="190" />
|
||||
@@ -1027,7 +1027,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5462" level="1" /> <!-- Fire Attack -->
|
||||
<skill id="4435" level="5" /> <!-- Greater Stun Resistance -->
|
||||
@@ -1087,6 +1087,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5462" level="1" /> <!-- Fire Attack -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -1616,6 +1617,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="4494" level="1" /> <!-- Raid Boss -->
|
||||
<skill id="14729" level="1" /> <!-- Raid Boss (Lv. 92) -->
|
||||
@@ -1697,6 +1699,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14733" level="1" /> <!-- Raid Boss (Lv. 93) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -1770,6 +1773,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14734" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -1846,6 +1850,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14730" level="1" /> <!-- Raid Boss (Lv. 94) -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
@@ -1923,6 +1928,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14731" level="1" /> <!-- Raid Boss (Lv. 95) -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
@@ -2005,7 +2011,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="4416" level="3" /> <!-- Beast -->
|
||||
@@ -2046,7 +2052,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14732" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
@@ -2100,7 +2106,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14732" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
@@ -2155,6 +2161,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14732" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="10" /> <!-- Dragons -->
|
||||
@@ -2239,6 +2246,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14735" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
@@ -2310,7 +2318,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14713" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -2366,7 +2374,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14712" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -2956,7 +2964,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4494" level="1" /> <!-- Raid Boss -->
|
||||
@@ -3012,7 +3020,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14722" level="1" /> <!-- Raid Boss (Lv. 98) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -3065,7 +3073,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14722" level="1" /> <!-- Raid Boss (Lv. 98) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -3394,7 +3402,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14713" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -3450,7 +3458,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14712" level="1" /> <!-- Raid Boss (Lv. 96) -->
|
||||
<skill id="4416" level="6" /> <!-- Humanoids -->
|
||||
@@ -3637,7 +3645,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5463" level="1" /> <!-- Water Attack -->
|
||||
<skill id="4494" level="1" /> <!-- Raid Boss -->
|
||||
@@ -4708,7 +4716,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="4414" level="3" /> <!-- Light Armor Type -->
|
||||
|
@@ -1397,7 +1397,7 @@
|
||||
</speed>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" noSleepMode="true" />
|
||||
<status undying="false" noSleepMode="true" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="4045" level="1" /> <!-- Resist Full Magic Attack -->
|
||||
<skill id="4071" level="2" /> <!-- Resist Bow/Crossbow Weapons -->
|
||||
@@ -3489,7 +3489,7 @@
|
||||
</speed>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" noSleepMode="true" />
|
||||
<status undying="false" noSleepMode="true" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="4045" level="1" /> <!-- Resist Full Magic Attack -->
|
||||
<skill id="4071" level="2" /> <!-- Resist Bow/Crossbow Weapons -->
|
||||
|
@@ -3420,7 +3420,7 @@
|
||||
</speed>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="4045" level="1" /> <!-- Resist Full Magic Attack -->
|
||||
<skill id="4408" level="1" /> <!-- HP Increase (1x) -->
|
||||
@@ -3949,7 +3949,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="true" undying="false" />
|
||||
<status attackable="true" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14726" level="1" /> <!-- Octavis -->
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
@@ -3988,7 +3988,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="4416" level="3" /> <!-- Beast -->
|
||||
@@ -4028,7 +4028,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="true" undying="false" />
|
||||
<status attackable="true" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14726" level="1" /> <!-- Octavis -->
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
@@ -4070,7 +4070,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="true" undying="false" />
|
||||
<status attackable="true" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14726" level="1" /> <!-- Octavis -->
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
@@ -4211,7 +4211,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14708" level="1" /> <!-- Istina -->
|
||||
<skill id="5463" level="1" /> <!-- Water Attack -->
|
||||
@@ -4369,7 +4369,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5463" level="1" /> <!-- Water Attack -->
|
||||
<skill id="14709" level="1" /> <!-- Istina -->
|
||||
@@ -4524,7 +4524,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" showName="false" undying="false" />
|
||||
<status attackable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
@@ -4672,7 +4672,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4435" level="5" /> <!-- Greater Stun Resistance -->
|
||||
@@ -4718,7 +4718,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4435" level="5" /> <!-- Greater Stun Resistance -->
|
||||
|
@@ -25,7 +25,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" showName="false" undying="false" />
|
||||
<status attackable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
@@ -71,7 +71,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
@@ -116,7 +116,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
@@ -160,7 +160,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
@@ -204,7 +204,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" showName="false" undying="false" />
|
||||
<status attackable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
@@ -249,7 +249,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4435" level="5" /> <!-- Greater Stun Resistance -->
|
||||
@@ -293,7 +293,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="2" /> <!-- Magic Creatures -->
|
||||
@@ -334,7 +334,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" showName="false" undying="false" />
|
||||
<status attackable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
@@ -375,7 +375,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" showName="false" undying="false" />
|
||||
<status attackable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
@@ -416,7 +416,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="true" undying="false" />
|
||||
<status attackable="true" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14726" level="1" /> <!-- Octavis -->
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
@@ -457,7 +457,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5464" level="1" /> <!-- Wind Attack -->
|
||||
<skill id="4416" level="3" /> <!-- Beast -->
|
||||
@@ -497,7 +497,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="true" undying="false" />
|
||||
<status attackable="true" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="14726" level="1" /> <!-- Octavis -->
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
@@ -540,7 +540,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="true" undying="false" />
|
||||
<status undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5464" level="1" /> <!-- Wind Attack -->
|
||||
<skill id="14726" level="1" /> <!-- Octavis -->
|
||||
@@ -693,7 +693,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="4438" level="5" /> <!-- Greater Sleep Resistance -->
|
||||
@@ -964,7 +964,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="14247" level="1" /> <!-- Black Vortex -->
|
||||
@@ -1116,7 +1116,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" showName="false" undying="false" />
|
||||
<status attackable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
@@ -1157,7 +1157,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" showName="false" undying="false" />
|
||||
<status attackable="false" showName="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
@@ -1197,7 +1197,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4416" level="12" /> <!-- Bugs -->
|
||||
@@ -1248,7 +1248,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" />
|
||||
<status attackable="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5465" level="1" /> <!-- Earth Attack -->
|
||||
<skill id="4122" level="1" /> <!-- Antharas -->
|
||||
@@ -1472,7 +1472,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5462" level="1" /> <!-- Fire Attack -->
|
||||
<skill id="4679" level="1" /> <!-- Valakas -->
|
||||
@@ -1595,7 +1595,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="4435" level="5" /> <!-- Greater Stun Resistance -->
|
||||
@@ -1678,7 +1678,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="16101" level="1" /> <!-- Tauti -->
|
||||
@@ -1726,7 +1726,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="16101" level="1" /> <!-- Tauti -->
|
||||
@@ -1774,7 +1774,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="16101" level="1" /> <!-- Tauti -->
|
||||
@@ -1814,7 +1814,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="16101" level="1" /> <!-- Tauti -->
|
||||
@@ -1922,7 +1922,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="16101" level="1" /> <!-- Tauti -->
|
||||
@@ -2030,7 +2030,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" undying="false" />
|
||||
<status attackable="false" undying="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="16101" level="1" /> <!-- Tauti -->
|
||||
@@ -2069,7 +2069,7 @@
|
||||
</attribute>
|
||||
<abnormalResist physical="230" magical="230" />
|
||||
</stats>
|
||||
<status attackable="false" targetable="false" />
|
||||
<status attackable="false" targetable="false" isDeathPenalty="true" />
|
||||
<skill_list>
|
||||
<skill id="5467" level="1" /> <!-- Strong against the dark elemental. -->
|
||||
<skill id="16101" level="1" /> <!-- Tauti -->
|
||||
|
@@ -200,6 +200,7 @@
|
||||
<xs:attribute name="passableDoor" type="xs:boolean" />
|
||||
<xs:attribute name="hasSummoner" type="xs:boolean" />
|
||||
<xs:attribute name="canBeSown" type="xs:boolean" />
|
||||
<xs:attribute name="isDeathPenalty" type="xs:boolean" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="skill_list" minOccurs="0" maxOccurs="1">
|
||||
|
@@ -689,7 +689,7 @@ public final class SkillTreesData implements IGameXmlReader
|
||||
return result;
|
||||
}
|
||||
|
||||
final boolean isAwaken = player.isInCategory(CategoryType.AWAKEN_GROUP) && ((player.getRace() != Race.ERTHEIA) || player.isDualClassActive());
|
||||
final boolean isAwaken = player.isInCategory(CategoryType.SIXTH_CLASS_GROUP) && ((player.getRace() != Race.ERTHEIA) || player.isDualClassActive());
|
||||
|
||||
for (Entry<Long, L2SkillLearn> entry : skills.entrySet())
|
||||
{
|
||||
@@ -803,7 +803,7 @@ public final class SkillTreesData implements IGameXmlReader
|
||||
}
|
||||
|
||||
final Race race = player.getRace();
|
||||
final boolean isAwaken = player.isInCategory(CategoryType.AWAKEN_GROUP);
|
||||
final boolean isAwaken = player.isInCategory(CategoryType.SIXTH_CLASS_GROUP);
|
||||
|
||||
// Race skills
|
||||
if (isAwaken)
|
||||
|
@@ -32,6 +32,17 @@ public enum CategoryType
|
||||
SECOND_CLASS_GROUP,
|
||||
THIRD_CLASS_GROUP,
|
||||
FOURTH_CLASS_GROUP,
|
||||
EQUIP_ENABLE_R,
|
||||
FIFTH_CLASS_GROUP,
|
||||
SIXTH_CLASS_GROUP,
|
||||
SIXTH_SIGEL_GROUP,
|
||||
SIXTH_TIR_GROUP,
|
||||
SIXTH_OTHEL_GROUP,
|
||||
SIXTH_YR_GROUP,
|
||||
SIXTH_FEOH_GROUP,
|
||||
SIXTH_IS_GROUP,
|
||||
SIXTH_WYNN_GROUP,
|
||||
SIXTH_EOLH_GROUP,
|
||||
BOUNTY_HUNTER_GROUP,
|
||||
WARSMITH_GROUP,
|
||||
SUMMON_NPC_GROUP,
|
||||
@@ -142,30 +153,158 @@ public enum CategoryType
|
||||
RECOM_KAMAEL_GROUP,
|
||||
RECOM_ORCF_GROUP,
|
||||
RECOM_ORCM_GROUP,
|
||||
RECOM_ERTHEIAF_GROUP,
|
||||
RECOM_ERTHEIAM_GROUP,
|
||||
DEINONYCHUS_PET_GROUP,
|
||||
BEASTFARM_BEAST,
|
||||
BEASTFARM_INVADER,
|
||||
ICEQUEEN_NPC,
|
||||
AWAKEN_GROUP,
|
||||
SHILENS_FOLLOWERS,
|
||||
SIGEL_CANDIDATE,
|
||||
TYRR_CANDIDATE,
|
||||
OTHELL_CANDIDATE,
|
||||
YUL_CANDIDATE,
|
||||
FEOH_CANDIDATE,
|
||||
ISS_CANDIDATE,
|
||||
WYNN_CANDIDATE,
|
||||
AEORE_CANDIDATE,
|
||||
EVISCERATOR_CANDIDATE,
|
||||
SAYHA_SEER_CANDIDATE,
|
||||
SIGEL_GROUP,
|
||||
TYRR_GROUP,
|
||||
OTHELL_GROUP,
|
||||
YUL_GROUP,
|
||||
FEOH_GROUP,
|
||||
ISS_GROUP,
|
||||
WYNN_GROUP,
|
||||
AEORE_GROUP;
|
||||
FAIRY_PC_SIDE,
|
||||
FAIRY_WISP,
|
||||
FAIRY_GLIMMER,
|
||||
TANKER_CATEGORY,
|
||||
WARRIOR_CATEGORY,
|
||||
ROGUE_CATEGORY,
|
||||
ARCHER_CATEGORY,
|
||||
WIZARD_CATEGORY,
|
||||
SUMMONER_CATEGORY,
|
||||
HEALER_CATEGORY,
|
||||
ENCHANTER_CATEGORY,
|
||||
RUMBLE_MONSTERS,
|
||||
RUMBLE_GUARDIANS,
|
||||
TWO_POINT_MULTI_SUMMON,
|
||||
APM_ZERO_WARRIOR_GROUP,
|
||||
APM_ZERO_MAGE_GROUP,
|
||||
APM_1ST_KNIGHT_GROUP,
|
||||
APM_1ST_WARRIOR_GROUP,
|
||||
APM_1ST_WIZARD_GROUP,
|
||||
APM_1ST_HEALER_GROUP,
|
||||
APM_2ND_KNIGHT_GROUP,
|
||||
APM_2ND_WARRIOR_GROUP,
|
||||
APM_2ND_ROGUE_GROUP,
|
||||
APM_2ND_WIZARD_GROUP,
|
||||
APM_2ND_ARCHER_GROUP,
|
||||
APM_2ND_BUFFER_GROUP,
|
||||
APM_2ND_SUMMONER_GROUP,
|
||||
APM_2ND_ONLY_GROUP,
|
||||
APM_3RD_KNIGHT_GROUP,
|
||||
APM_3RD_WARRIOR_GROUP,
|
||||
APM_3RD_ROGUE_GROUP,
|
||||
APM_3RD_WIZARD_GROUP,
|
||||
APM_3RD_ARCHER_GROUP,
|
||||
APM_3RD_BUFFER_GROUP,
|
||||
APM_3RD_SUMMONER_GROUP,
|
||||
APM_3RD_ONLY_GROUP,
|
||||
SUBCLASS_TANKER,
|
||||
SUBCLASS_WARRIOR,
|
||||
SUBCLASS_ROUGE,
|
||||
SUBCLASS_ARCHER,
|
||||
SUBCLASS_WIZARD,
|
||||
SUBCLASS_SUMMON,
|
||||
SUBCLASS_HEAL,
|
||||
SUBCLASS_ENCHANTER,
|
||||
SUBCLASS_SPEACIAL,
|
||||
SUBCLASS_KAMAEL,
|
||||
EXCEPT_KAMAEL_GROUP,
|
||||
R_HUMANMAGE_GROUP,
|
||||
R_HUMANFIGHTER_GROUP,
|
||||
DIVISION_TANKER,
|
||||
DIVISION_WARRIOR,
|
||||
DIVISION_ROUGE,
|
||||
DIVISION_ARCHER,
|
||||
DIVISION_WIZARD,
|
||||
DIVISION_SUMMON,
|
||||
DIVISION_ENCHANTER,
|
||||
DIVISION_HEAL,
|
||||
HUMAN_FOURTH_CLASS_GROUP,
|
||||
ELF_FOURTH_CLASS_GROUP,
|
||||
DARKELF_FOURTH_CLASS_GROUP,
|
||||
ORC_FOURTH_CLASS_GROUP,
|
||||
DWARF_FOURTH_CLASS_GROUP,
|
||||
FOURTH_LANCE_CLASS_GROUP,
|
||||
FOURTH_BOW_CLASS_GROUP,
|
||||
EQUIP_ENABLE_HEAVY_ATTACK,
|
||||
EQUIP_ENABLE_HEAVY_DEFENSE,
|
||||
EQUIP_ENABLE_LIGHT_HIT,
|
||||
EQUIP_ENABLE_LIGHT_ENCHANT,
|
||||
EQUIP_ENABLE_ROBE_MAGIC,
|
||||
EQUIP_ENABLE_ROBE_RECOVERY,
|
||||
DILLER_GROUP,
|
||||
MAESTRO_GROUP,
|
||||
MAESTRO_GROUP_CRAFT,
|
||||
SUB_GROUP_WARRIOR2,
|
||||
SUB_GROUP_ROGUE2,
|
||||
SUB_GROUP_KNIGHT2,
|
||||
SUB_GROUP_SUMMONER2,
|
||||
SUB_GROUP_WIZARD2,
|
||||
SUB_GROUP_HEALER2,
|
||||
SUB_GROUP_ENCHANTER2,
|
||||
G_CARTIA_PC_GROUP,
|
||||
G_CARTIA_NPC_GROUP,
|
||||
HEAVY_GROUP,
|
||||
LIGHT_GROUP,
|
||||
ROBE_GROUP,
|
||||
M_WARRIOR_GROUP,
|
||||
PHYSICS_CLASS_GROUP,
|
||||
HEATSAND_SUMMON_CLASS_GROUP,
|
||||
MAGIC_CLASS_GROUP,
|
||||
LONG_DISTANCE_CLASS_GROUP,
|
||||
CLOSE_DISTANCE_CLASS_GROUP,
|
||||
HS_WIZARD_CLASS_GROUP,
|
||||
HS_WARRIOR_CLASS_GROUP,
|
||||
SUBCLASS_PALADIN,
|
||||
SUBCLASS_DARKAVENGER,
|
||||
SUBCLASS_TEMPLEKNIGHT,
|
||||
SUBCLASS_SHILLIENKNIGHT,
|
||||
SUBCLASS_GLADIATOR,
|
||||
SUBCLASS_WARLORD,
|
||||
SUBCLASS_DESTROYER,
|
||||
SUBCLASS_TYRAN,
|
||||
SUBCLASS_BERSERKER,
|
||||
SUBCLASS_TREASUREHUNTER,
|
||||
SUBCLASS_PLAINSWALKER,
|
||||
SUBCLASS_ABYSSWALKER,
|
||||
SUBCLASS_BOUNTYHUNTER,
|
||||
SUBCLASS_HAWKEYE,
|
||||
SUBCLASS_SILVERRANGER,
|
||||
SUBCLASS_PHANTOMRANGER,
|
||||
SUBCLASS_ARBALESTER,
|
||||
SUBCLASS_SORCERER,
|
||||
SUBCLASS_NECROMANCER,
|
||||
SUBCLASS_SPELLSINGER,
|
||||
SUBCLASS_SPELLHOWLER,
|
||||
SUBCLASS_SOULBREAKER,
|
||||
SUBCLASS_WARLOCK,
|
||||
SUBCLASS_ELEMENTALSUMMONER,
|
||||
SUBCLASS_PHANTOMSUMMONER,
|
||||
SUBCLASS_BISHOP,
|
||||
SUBCLASS_ELDER,
|
||||
SUBCLASS_SHILLIENELDER,
|
||||
SUBCLASS_PROPHET,
|
||||
SUBCLASS_SWORDSINGER,
|
||||
SUBCLASS_BLADEDANCER,
|
||||
SUBCLASS_WARCRYER,
|
||||
SUBCLASS_INSPECTOR,
|
||||
WINDREFINE_ERTHEIA_GROUP,
|
||||
WINDREFINE_ERTHEIA_GROUP1,
|
||||
WINDREFINE_ERTHEIA_GROUP2,
|
||||
ERTHEIA_ALL_CLASS,
|
||||
ERTHEIA_FIRST_CLASS_GROUP,
|
||||
ERTHEIA_SECOND_CLASS_GROUP,
|
||||
ERTHEIA_THIRD_CLASS_GROUP,
|
||||
ERTHEIA_FOURTH_CLASS_GROUP,
|
||||
ERTHEIA_WIZARD_GROUP,
|
||||
ERTHEIA_FIGHTER_GROUP,
|
||||
ERTHEIA_THIRD_WIZARD_GROUP,
|
||||
ERTHEIA_THIRD_FIGHTER_GROUP,
|
||||
VANGUARD_OF_ADEN_FCC,
|
||||
COMMON_MONSTER_FCC,
|
||||
EQEIP_ENABLE_LHAND,
|
||||
G_EV_MON_MINIGAME,
|
||||
HEAVY_ARMOR_CLASS,
|
||||
LIGHT_ARMOR_CLASS,
|
||||
ROBE_CLASS,
|
||||
EXCEPT_ERTHEIA_CLASS;
|
||||
|
||||
/**
|
||||
* Finds category by it's name
|
||||
|
@@ -288,7 +288,7 @@ public class CeremonyOfChaosManager extends AbstractEventManager<CeremonyOfChaos
|
||||
sm = SystemMessageId.YOU_CANNOT_PARTICIPATE_IN_THE_CEREMONY_OF_CHAOS_AS_A_FLYING_TRANSFORMED_OBJECT;
|
||||
canRegister = false;
|
||||
}
|
||||
else if (!player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
else if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
sm = SystemMessageId.ONLY_CHARACTERS_WHO_HAVE_COMPLETED_THE_3RD_CLASS_TRANSFER_MAY_PARTICIPATE;
|
||||
canRegister = false;
|
||||
|
@@ -8086,7 +8086,7 @@ public final class L2PcInstance extends L2Playable
|
||||
@Override
|
||||
public boolean hasBasicPropertyResist()
|
||||
{
|
||||
return isInCategory(CategoryType.AWAKEN_GROUP);
|
||||
return isInCategory(CategoryType.SIXTH_CLASS_GROUP);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -11457,7 +11457,7 @@ public final class L2PcInstance extends L2Playable
|
||||
percent *= getStat().getValue(Stats.REDUCE_DEATH_PENALTY_BY_PVP, 1);
|
||||
}
|
||||
|
||||
if (killer.isInCategory(CategoryType.SHILENS_FOLLOWERS) || (Rnd.get(1, 100) <= ((Config.DEATH_PENALTY_CHANCE) * percent)))
|
||||
if ((killer.isNpc() && ((L2Npc) killer).getTemplate().isDeathPenalty()) || (Rnd.get(1, 100) <= ((Config.DEATH_PENALTY_CHANCE) * percent)))
|
||||
{
|
||||
if (!killer.isPlayable() || (getReputation() < 0))
|
||||
{
|
||||
|
@@ -84,6 +84,7 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable
|
||||
private boolean _hasSummoner;
|
||||
private boolean _canBeSown;
|
||||
private boolean _canBeCrt;
|
||||
private boolean _isDeathPenalty;
|
||||
private int _corpseTime;
|
||||
private AIType _aiType;
|
||||
private int _aggroRange;
|
||||
@@ -162,6 +163,7 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable
|
||||
_hasSummoner = set.getBoolean("hasSummoner", false);
|
||||
_canBeSown = set.getBoolean("canBeSown", false);
|
||||
_canBeCrt = set.getBoolean("ex_crt_effect", true);
|
||||
_isDeathPenalty = set.getBoolean("isDeathPenalty", false);
|
||||
|
||||
_corpseTime = set.getInt("corpseTime", Config.DEFAULT_CORPSE_TIME);
|
||||
|
||||
@@ -418,6 +420,11 @@ public final class L2NpcTemplate extends L2CharTemplate implements IIdentifiable
|
||||
return _canBeCrt;
|
||||
}
|
||||
|
||||
public boolean isDeathPenalty()
|
||||
{
|
||||
return _isDeathPenalty;
|
||||
}
|
||||
|
||||
public int getCorpseTime()
|
||||
{
|
||||
return _corpseTime;
|
||||
|
@@ -80,7 +80,7 @@ public class Olympiad extends ListenersContainer
|
||||
private static final String OLYMPIAD_MONTH_CLEAR = "TRUNCATE olympiad_nobles_eom";
|
||||
private static final String OLYMPIAD_MONTH_CREATE = "INSERT INTO olympiad_nobles_eom SELECT charId, class_id, olympiad_points, competitions_done, competitions_won, competitions_lost, competitions_drawn FROM olympiad_nobles";
|
||||
|
||||
private static final Set<Integer> HERO_IDS = CategoryData.getInstance().getCategoryByType(CategoryType.AWAKEN_GROUP);
|
||||
private static final Set<Integer> HERO_IDS = CategoryData.getInstance().getCategoryByType(CategoryType.SIXTH_CLASS_GROUP);
|
||||
|
||||
private static final int COMP_START = Config.ALT_OLY_START_TIME; // 6PM
|
||||
private static final int COMP_MIN = Config.ALT_OLY_MIN; // 00 mins
|
||||
|
@@ -56,7 +56,7 @@ public class L2SayuneZone extends L2ZoneType
|
||||
@Override
|
||||
protected void onEnter(L2Character character)
|
||||
{
|
||||
if (character.isPlayer() && (character.isInCategory(CategoryType.AWAKEN_GROUP) || Config.FREE_JUMPS_FOR_ALL) && !character.getActingPlayer().isMounted() && !character.isTransformed())
|
||||
if (character.isPlayer() && (character.isInCategory(CategoryType.SIXTH_CLASS_GROUP) || Config.FREE_JUMPS_FOR_ALL) && !character.getActingPlayer().isMounted() && !character.isTransformed())
|
||||
{
|
||||
character.setInsideZone(ZoneId.SAYUNE, true);
|
||||
ThreadPoolManager.execute(new FlyMoveStartTask(this, character.getActingPlayer()));
|
||||
|
@@ -417,7 +417,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
|
||||
Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " is requesting skill Id: " + _id + " level " + _level + " while Sub-Class is active!", IllegalActionPunishmentType.NONE);
|
||||
return;
|
||||
}
|
||||
if ((activeChar.getLevel() < 85) || !activeChar.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if ((activeChar.getLevel() < 85) || !activeChar.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_THE_NECESSARY_MATERIALS_OR_PREREQUISITES_TO_LEARN_THIS_SKILL);
|
||||
Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE);
|
||||
@@ -460,7 +460,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if ((activeChar.getLevel() < 85) || !activeChar.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if ((activeChar.getLevel() < 85) || !activeChar.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
activeChar.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_THE_NECESSARY_MATERIALS_OR_PREREQUISITES_TO_LEARN_THIS_SKILL);
|
||||
Util.handleIllegalPlayerAction(activeChar, "Player " + activeChar.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE);
|
||||
|
@@ -150,7 +150,7 @@ public final class RequestAcquireSkillInfo implements IClientIncomingPacket
|
||||
}
|
||||
case REVELATION:
|
||||
{
|
||||
if ((activeChar.getLevel() < 85) || !activeChar.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if ((activeChar.getLevel() < 85) || !activeChar.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@@ -82,7 +82,7 @@ public final class RequestExEnchantSkill implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if (!player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@@ -61,7 +61,7 @@ public final class RequestExEnchantSkillInfo implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
if (!activeChar.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if (!activeChar.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@@ -115,7 +115,7 @@ public class ConfirmMenteeAdd implements IClientIncomingPacket
|
||||
mentor.sendPacket(SystemMessageId.THAT_PLAYER_IS_NOT_ONLINE);
|
||||
return false;
|
||||
}
|
||||
else if (!mentor.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
else if (!mentor.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
mentor.sendPacket(SystemMessageId.YOU_MUST_AWAKEN_IN_ORDER_TO_BECOME_A_MENTOR);
|
||||
return false;
|
||||
|
@@ -44,7 +44,7 @@ public class RequestFlyMoveStart implements IClientIncomingPacket
|
||||
public void run(L2GameClient client)
|
||||
{
|
||||
final L2PcInstance activeChar = client.getActiveChar();
|
||||
if ((activeChar == null) || !activeChar.isInsideZone(ZoneId.SAYUNE) || activeChar.hasRequest(SayuneRequest.class) || !activeChar.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if ((activeChar == null) || !activeChar.isInsideZone(ZoneId.SAYUNE) || activeChar.hasRequest(SayuneRequest.class) || !activeChar.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@@ -48,7 +48,7 @@ public class ExMentorList implements IClientOutgoingPacket
|
||||
_type = 0x02;
|
||||
_mentees = Arrays.asList(MentorManager.getInstance().getMentor(activeChar.getObjectId()));
|
||||
}
|
||||
else if (activeChar.isInCategory(CategoryType.AWAKEN_GROUP)) // Not a mentor, Not a mentee, so can be a mentor
|
||||
else if (activeChar.isInCategory(CategoryType.SIXTH_CLASS_GROUP)) // Not a mentor, Not a mentee, so can be a mentor
|
||||
{
|
||||
_mentees = Collections.emptyList();
|
||||
_type = 0x01;
|
||||
|
@@ -40,7 +40,7 @@ public class ListMenteeWaiting implements IClientOutgoingPacket
|
||||
_page = page;
|
||||
for (L2PcInstance player : L2World.getInstance().getPlayers())
|
||||
{
|
||||
if ((player.getLevel() >= minLevel) && (player.getLevel() <= maxLevel) && !player.isMentee() && !player.isMentor() && !player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
if ((player.getLevel() >= minLevel) && (player.getLevel() <= maxLevel) && !player.isMentee() && !player.isMentor() && !player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
{
|
||||
_possibleCandiates.add(player);
|
||||
}
|
||||
|
Reference in New Issue
Block a user