Updated category data XML file.
Adapted from: L2jUnity free files.
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user