Merged with released L2J-Unity files.
This commit is contained in:
927
trunk/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java
vendored
Normal file
927
trunk/dist/game/data/scripts/ai/others/ClassMaster/ClassMaster.java
vendored
Normal file
@@ -0,0 +1,927 @@
|
||||
/*
|
||||
* 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.ClassMaster;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.NamedNodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
|
||||
import com.l2jmobius.commons.util.IGameXmlReader;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.CategoryData;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.ClassListData;
|
||||
import com.l2jmobius.gameserver.datatables.ItemTable;
|
||||
import com.l2jmobius.gameserver.enums.CategoryType;
|
||||
import com.l2jmobius.gameserver.enums.Race;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.base.ClassId;
|
||||
import com.l2jmobius.gameserver.model.events.EventType;
|
||||
import com.l2jmobius.gameserver.model.events.ListenerRegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
|
||||
import com.l2jmobius.gameserver.model.events.annotations.RegisterType;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerBypass;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLevelChanged;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerLogin;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerPressTutorialMark;
|
||||
import com.l2jmobius.gameserver.model.events.impl.character.player.OnPlayerProfessionChange;
|
||||
import com.l2jmobius.gameserver.model.holders.ItemChanceHolder;
|
||||
import com.l2jmobius.gameserver.model.spawns.SpawnTemplate;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.AcquireSkillList;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.PlaySound;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.TutorialCloseHtml;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.TutorialShowQuestionMark;
|
||||
|
||||
import ai.AbstractNpcAI;
|
||||
|
||||
/**
|
||||
* Class Master AI.
|
||||
* @author Nik
|
||||
*/
|
||||
public final class ClassMaster extends AbstractNpcAI implements IGameXmlReader
|
||||
{
|
||||
// NPCs
|
||||
private static final int[] CLASS_MASTER =
|
||||
{
|
||||
31756, // Mr. Cat
|
||||
31757, // Queen of Hearts
|
||||
};
|
||||
// Misc
|
||||
private boolean _isEnabled;
|
||||
private boolean _spawnClassMasters;
|
||||
private boolean _showPopupWindow;
|
||||
private static final Logger LOGGER = Logger.getLogger(ClassMaster.class.getName());
|
||||
private final List<ClassChangeData> _classChangeData = new LinkedList<>();
|
||||
|
||||
public ClassMaster()
|
||||
{
|
||||
load();
|
||||
addStartNpc(CLASS_MASTER);
|
||||
addTalkId(CLASS_MASTER);
|
||||
addFirstTalkId(CLASS_MASTER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load()
|
||||
{
|
||||
_classChangeData.clear();
|
||||
parseDatapackFile("config/ClassMaster.xml");
|
||||
|
||||
LOGGER.info(getClass().getSimpleName() + ": Loaded " + _classChangeData.size() + " class change options.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValidating()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void parseDocument(Document doc, File f)
|
||||
{
|
||||
NamedNodeMap attrs;
|
||||
for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
|
||||
{
|
||||
if ("list".equals(n.getNodeName()))
|
||||
{
|
||||
for (Node cm = n.getFirstChild(); cm != null; cm = cm.getNextSibling())
|
||||
{
|
||||
attrs = cm.getAttributes();
|
||||
if ("classMaster".equals(cm.getNodeName()))
|
||||
{
|
||||
_isEnabled = parseBoolean(attrs, "classChangeEnabled", false);
|
||||
if (!_isEnabled)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
_spawnClassMasters = parseBoolean(attrs, "spawnClassMasters", true);
|
||||
_showPopupWindow = parseBoolean(attrs, "showPopupWindow", false);
|
||||
|
||||
for (Node c = cm.getFirstChild(); c != null; c = c.getNextSibling())
|
||||
{
|
||||
attrs = c.getAttributes();
|
||||
if ("classChangeOption".equals(c.getNodeName()))
|
||||
{
|
||||
final List<CategoryType> appliedCategories = new LinkedList<>();
|
||||
final List<ItemChanceHolder> requiredItems = new LinkedList<>();
|
||||
final List<ItemChanceHolder> rewardedItems = new LinkedList<>();
|
||||
boolean setNoble = false;
|
||||
boolean setHero = false;
|
||||
final String optionName = parseString(attrs, "name", "");
|
||||
for (Node b = c.getFirstChild(); b != null; b = b.getNextSibling())
|
||||
{
|
||||
attrs = b.getAttributes();
|
||||
if ("appliesTo".equals(b.getNodeName()))
|
||||
{
|
||||
for (Node r = b.getFirstChild(); r != null; r = r.getNextSibling())
|
||||
{
|
||||
attrs = r.getAttributes();
|
||||
if ("category".equals(r.getNodeName()))
|
||||
{
|
||||
final CategoryType category = CategoryType.findByName(r.getTextContent().trim());
|
||||
if (category == null)
|
||||
{
|
||||
LOGGER.severe(getClass().getSimpleName() + ": Incorrect category type: " + r.getNodeValue());
|
||||
continue;
|
||||
}
|
||||
|
||||
appliedCategories.add(category);
|
||||
}
|
||||
}
|
||||
}
|
||||
if ("rewards".equals(b.getNodeName()))
|
||||
{
|
||||
for (Node r = b.getFirstChild(); r != null; r = r.getNextSibling())
|
||||
{
|
||||
attrs = r.getAttributes();
|
||||
if ("item".equals(r.getNodeName()))
|
||||
{
|
||||
final int itemId = parseInteger(attrs, "id");
|
||||
final int count = parseInteger(attrs, "count", 1);
|
||||
final int chance = parseInteger(attrs, "chance", 100);
|
||||
|
||||
rewardedItems.add(new ItemChanceHolder(itemId, chance, count));
|
||||
}
|
||||
else if ("setNoble".equals(r.getNodeName()))
|
||||
{
|
||||
setNoble = true;
|
||||
}
|
||||
else if ("setHero".equals(r.getNodeName()))
|
||||
{
|
||||
setHero = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ("conditions".equals(b.getNodeName()))
|
||||
{
|
||||
for (Node r = b.getFirstChild(); r != null; r = r.getNextSibling())
|
||||
{
|
||||
attrs = r.getAttributes();
|
||||
if ("item".equals(r.getNodeName()))
|
||||
{
|
||||
final int itemId = parseInteger(attrs, "id");
|
||||
final int count = parseInteger(attrs, "count", 1);
|
||||
final int chance = parseInteger(attrs, "chance", 100);
|
||||
|
||||
requiredItems.add(new ItemChanceHolder(itemId, chance, count));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (appliedCategories.isEmpty())
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": Class change option: " + optionName + " has no categories to be applied on. Skipping!");
|
||||
continue;
|
||||
}
|
||||
|
||||
final ClassChangeData classChangeData = new ClassChangeData(optionName, appliedCategories);
|
||||
classChangeData.setItemsRequired(requiredItems);
|
||||
classChangeData.setItemsRewarded(rewardedItems);
|
||||
classChangeData.setRewardHero(setHero);
|
||||
classChangeData.setRewardNoblesse(setNoble);
|
||||
|
||||
_classChangeData.add(classChangeData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpawnActivate(SpawnTemplate template)
|
||||
{
|
||||
if (_spawnClassMasters)
|
||||
{
|
||||
template.spawnAllIncludingNotDefault(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSpawnDeactivate(SpawnTemplate template)
|
||||
{
|
||||
template.despawnAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onFirstTalk(L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
return "test_server_helper001.html";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
|
||||
{
|
||||
if (!_isEnabled)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
final StringTokenizer st = new StringTokenizer(event);
|
||||
event = st.nextToken();
|
||||
switch (event)
|
||||
{
|
||||
case "buyitems":
|
||||
{
|
||||
htmltext = npc.getId() == CLASS_MASTER[0] ? "test_server_helper001a.html" : "test_server_helper001b.html";
|
||||
break;
|
||||
}
|
||||
case "setnoble":
|
||||
{
|
||||
if (player.isNoble())
|
||||
{
|
||||
htmltext = "test_server_helper025b.html";
|
||||
}
|
||||
else if (player.getLevel() < 75)
|
||||
{
|
||||
htmltext = "test_server_helper025a.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
player.setNoble(true);
|
||||
player.broadcastUserInfo();
|
||||
// TODO: SetOneTimeQuestFlag(talker, 10385, 1);
|
||||
htmltext = "test_server_helper025.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "firstclass":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
||||
{
|
||||
if (player.getRace() == Race.ERTHEIA)
|
||||
{
|
||||
htmltext = "test_server_helper027a.html";
|
||||
}
|
||||
else if (player.getLevel() < 20)
|
||||
{
|
||||
htmltext = "test_server_helper027.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = getFirstOccupationChangeHtml(player);
|
||||
}
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper028.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper010.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "secondclass":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP))
|
||||
{
|
||||
htmltext = player.getLevel() < 40 ? "test_server_helper023.html" : getSecondOccupationChangeHtml(player);
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper010.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "test_server_helper029.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "thirdclass":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && (player.getLevel() > 75))
|
||||
{
|
||||
if (changeToNextClass(player))
|
||||
{
|
||||
player.sendPacket(new PlaySound("ItemSound.quest_fanfare_2"));
|
||||
player.broadcastUserInfo();
|
||||
htmltext = "test_server_helper021.html";
|
||||
}
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011.html";
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "test_server_helper024.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "awaken":
|
||||
{
|
||||
if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (player.getLevel() > 84))
|
||||
{
|
||||
if (changeToNextClass(player))
|
||||
{
|
||||
player.sendPacket(new PlaySound("ItemSound.quest_fanfare_2"));
|
||||
player.broadcastUserInfo();
|
||||
player.store(false); // Save player cause if server crashes before this char is saved, he will lose class and the money payed for class change.
|
||||
htmltext = "test_server_helper021.html";
|
||||
}
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper011a.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "test_server_helper011b.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "setclass":
|
||||
{
|
||||
if (!st.hasMoreTokens())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
final int classId = Integer.parseInt(st.nextToken());
|
||||
|
||||
boolean canChange = false;
|
||||
if ((player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP)) && (player.getLevel() >= 40)) // In retail you can skip first occupation
|
||||
{
|
||||
canChange = CategoryData.getInstance().isInCategory(CategoryType.THIRD_CLASS_GROUP, classId) || (player.isInCategory(CategoryType.FIRST_CLASS_GROUP) && CategoryData.getInstance().isInCategory(CategoryType.SECOND_CLASS_GROUP, classId));
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP) && (player.getLevel() >= 20))
|
||||
{
|
||||
canChange = CategoryData.getInstance().isInCategory(CategoryType.SECOND_CLASS_GROUP, classId);
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && (player.getLevel() >= 76))
|
||||
{
|
||||
canChange = CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, classId);
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (player.getLevel() >= 85)) // 9
|
||||
{
|
||||
canChange = CategoryData.getInstance().isInCategory(CategoryType.AWAKEN_GROUP, classId); // 11
|
||||
}
|
||||
|
||||
if (canChange)
|
||||
{
|
||||
int classDataIndex = -1;
|
||||
if (st.hasMoreTokens())
|
||||
{
|
||||
classDataIndex = Integer.parseInt(st.nextToken());
|
||||
}
|
||||
|
||||
if (checkIfClassChangeHasOptions(player))
|
||||
{
|
||||
if (classDataIndex == -1)
|
||||
{
|
||||
htmltext = getHtm(player.getHtmlPrefix(), "cc_options.html");
|
||||
htmltext = htmltext.replace("%name%", ClassListData.getInstance().getClass(classId).getClassName()); // getEscapedClientCode());
|
||||
htmltext = htmltext.replace("%options%", getClassChangeOptions(player, classId));
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
final ClassChangeData data = getClassChangeData(classDataIndex);
|
||||
if (data == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
//@formatter:off
|
||||
final boolean paid = data.getItemsRequired().stream()
|
||||
.filter(ich -> ich.getChance() > Rnd.get(100)) // Chance to pay the price
|
||||
.filter(ih -> player.getInventory().getInventoryItemCount(ih.getId(), -1) >= ih.getCount())
|
||||
.allMatch(ih -> player.destroyItemByItemId(getClass().getSimpleName(), ih.getId(), ih.getCount(), npc, true));
|
||||
//@formatter:on
|
||||
|
||||
if (paid)
|
||||
{
|
||||
//@formatter:off
|
||||
data.getItemsRewarded().stream()
|
||||
.filter(ich -> ich.getChance() > Rnd.get(100)) // Chance to receive the reward
|
||||
.forEach(ih -> player.addItem(getClass().getSimpleName(), ih.getId(), ih.getCount(), npc, true));
|
||||
//@formatter:on
|
||||
}
|
||||
else
|
||||
{
|
||||
return null; // No class change if payment failed.
|
||||
}
|
||||
}
|
||||
|
||||
player.setClassId(classId);
|
||||
if (player.isSubClassActive())
|
||||
{
|
||||
player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
|
||||
}
|
||||
else
|
||||
{
|
||||
player.setBaseClass(player.getActiveClass());
|
||||
}
|
||||
player.sendPacket(new PlaySound("ItemSound.quest_fanfare_2"));
|
||||
player.broadcastUserInfo();
|
||||
player.sendPacket(new AcquireSkillList(player));
|
||||
player.store(false); // Save player cause if server crashes before this char is saved, he will lose class and the money payed for class change.
|
||||
return "test_server_helper021.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "clanlevel":
|
||||
{
|
||||
htmltext = player.isClanLeader() ? "test_server_helper022.html" : "pl014.html";
|
||||
break;
|
||||
}
|
||||
case "learnskills":
|
||||
{
|
||||
// Retail class master only lets you learn all third class skills.
|
||||
if (player.isInCategory(CategoryType.AWAKEN_GROUP))
|
||||
{
|
||||
htmltext = "test_server_helper001_failed.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
player.giveAvailableSkills(true, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "clanlevelup":
|
||||
{
|
||||
if ((player.getClan() == null) || !player.isClanLeader())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (player.getClan().getLevel() >= 10)
|
||||
{
|
||||
htmltext = "test_server_helper022a.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
player.getClan().setLevel(player.getClan().getLevel() + 1);
|
||||
player.getClan().broadcastClanStatus();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
private String getFirstOccupationChangeHtml(L2PcInstance player)
|
||||
{
|
||||
switch (player.getClassId())
|
||||
{
|
||||
case FIGHTER:
|
||||
return "test_server_helper026a.html";
|
||||
case MAGE:
|
||||
return "test_server_helper026b.html";
|
||||
case ELVEN_FIGHTER:
|
||||
return "test_server_helper026c.html";
|
||||
case ELVEN_MAGE:
|
||||
return "test_server_helper026d.html";
|
||||
case DARK_FIGHTER:
|
||||
return "test_server_helper026e.html";
|
||||
case DARK_MAGE:
|
||||
return "test_server_helper026f.html";
|
||||
case ORC_FIGHTER:
|
||||
return "test_server_helper026g.html";
|
||||
case ORC_MAGE:
|
||||
return "test_server_helper026h.html";
|
||||
case DWARVEN_FIGHTER:
|
||||
return "test_server_helper026i.html";
|
||||
case MALE_SOLDIER:
|
||||
return "test_server_helper026j.html";
|
||||
case FEMALE_SOLDIER:
|
||||
return "test_server_helper026k.html";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private String getSecondOccupationChangeHtml(L2PcInstance player)
|
||||
{
|
||||
switch (player.getClassId())
|
||||
{
|
||||
case FIGHTER:
|
||||
return "test_server_helper012.html";
|
||||
case WARRIOR:
|
||||
return "test_server_helper012a.html";
|
||||
case KNIGHT:
|
||||
return "test_server_helper012b.html";
|
||||
case ROGUE:
|
||||
return "test_server_helper012c.html";
|
||||
case MAGE:
|
||||
return "test_server_helper013.html";
|
||||
case WIZARD:
|
||||
return "test_server_helper013a.html";
|
||||
case CLERIC:
|
||||
return "test_server_helper013b.html";
|
||||
case ELVEN_FIGHTER:
|
||||
return "test_server_helper014.html";
|
||||
case ELVEN_KNIGHT:
|
||||
return "test_server_helper014a.html";
|
||||
case ELVEN_SCOUT:
|
||||
return "test_server_helper014b.html";
|
||||
case ELVEN_MAGE:
|
||||
return "test_server_helper015.html";
|
||||
case ELVEN_WIZARD:
|
||||
return "test_server_helper015a.html";
|
||||
case ORACLE:
|
||||
return "test_server_helper015b.html";
|
||||
case DARK_FIGHTER:
|
||||
return "test_server_helper016.html";
|
||||
case PALUS_KNIGHT:
|
||||
return "test_server_helper016a.html";
|
||||
case ASSASSIN:
|
||||
return "test_server_helper016b.html";
|
||||
case DARK_MAGE:
|
||||
return "test_server_helper017.html";
|
||||
case DARK_WIZARD:
|
||||
return "test_server_helper017a.html";
|
||||
case SHILLIEN_ORACLE:
|
||||
return "test_server_helper017b.html";
|
||||
case ORC_FIGHTER:
|
||||
return "test_server_helper018.html";
|
||||
case ORC_RAIDER:
|
||||
return "test_server_helper018a.html";
|
||||
case ORC_MONK:
|
||||
return "test_server_helper018b.html";
|
||||
case ORC_MAGE:
|
||||
case ORC_SHAMAN:
|
||||
return "test_server_helper019.html";
|
||||
case DWARVEN_FIGHTER:
|
||||
return "test_server_helper020.html";
|
||||
case ARTISAN:
|
||||
return "test_server_helper020b.html";
|
||||
case SCAVENGER:
|
||||
return "test_server_helper020a.html";
|
||||
case TROOPER:
|
||||
return "test_server_helper020c.html";
|
||||
case WARDER:
|
||||
return "test_server_helper020d.html";
|
||||
case ERTHEIA_FIGHTER:
|
||||
return "test_server_helper020e.html";
|
||||
case ERTHEIA_WIZARD:
|
||||
return "test_server_helper020f.html";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean changeToNextClass(L2PcInstance player)
|
||||
{
|
||||
final ClassId newClass = Arrays.stream(ClassId.values()).filter(cid -> player.getClassId() == cid.getParent()).findAny().orElse(null);
|
||||
|
||||
if (newClass == null)
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": No new classId found for player " + player);
|
||||
return false;
|
||||
}
|
||||
else if (newClass == player.getClassId())
|
||||
{
|
||||
LOGGER.warning(getClass().getSimpleName() + ": New classId found for player " + player + " is exactly the same as the one he currently is!");
|
||||
return false;
|
||||
}
|
||||
else if (checkIfClassChangeHasOptions(player))
|
||||
{
|
||||
String html = getHtm(player.getHtmlPrefix(), "cc_options.html");
|
||||
html = html.replace("%name%", ClassListData.getInstance().getClass(newClass.getId()).getClassName()); // getEscapedClientCode());
|
||||
html = html.replace("%options%", getClassChangeOptions(player, newClass.getId()));
|
||||
showResult(player, html);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
player.setClassId(newClass.getId());
|
||||
if (player.isSubClassActive())
|
||||
{
|
||||
player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
|
||||
}
|
||||
else
|
||||
{
|
||||
player.setBaseClass(player.getActiveClass());
|
||||
}
|
||||
player.sendPacket(new AcquireSkillList(player));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private void showPopupWindow(L2PcInstance player)
|
||||
{
|
||||
if (!_showPopupWindow)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//@formatter:off
|
||||
if ((player.isInCategory(CategoryType.FIRST_CLASS_GROUP) && (player.getLevel() >= 20)) ||
|
||||
((player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP)) && (player.getLevel() >= 40)) ||
|
||||
(player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && (player.getLevel() >= 76)) ||
|
||||
(player.isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (player.getLevel() >= 85)))
|
||||
//@formatter:on
|
||||
{
|
||||
player.sendPacket(new TutorialShowQuestionMark(1001));
|
||||
}
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_PRESS_TUTORIAL_MARK)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
|
||||
{
|
||||
final L2PcInstance player = event.getActiveChar();
|
||||
|
||||
if (!_showPopupWindow || (event.getMarkId() != 1001))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
String html = null;
|
||||
if ((player.isInCategory(CategoryType.SECOND_CLASS_GROUP) || player.isInCategory(CategoryType.FIRST_CLASS_GROUP)) && (player.getLevel() >= 40)) // In retail you can skip first occupation
|
||||
{
|
||||
html = getHtm(player.getHtmlPrefix(), onAdvEvent("secondclass", null, player));
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FIRST_CLASS_GROUP) && (player.getLevel() >= 20))
|
||||
{
|
||||
html = getHtm(player.getHtmlPrefix(), onAdvEvent("firstclass", null, player));
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.THIRD_CLASS_GROUP) && (player.getLevel() >= 76))
|
||||
{
|
||||
html = getHtm(player.getHtmlPrefix(), "qm_thirdclass.html");
|
||||
}
|
||||
else if (player.isInCategory(CategoryType.FOURTH_CLASS_GROUP) && (player.getLevel() >= 85)) // 9
|
||||
{
|
||||
html = getHtm(player.getHtmlPrefix(), "qm_awaken.html");
|
||||
}
|
||||
|
||||
if (html != null)
|
||||
{
|
||||
showResult(event.getActiveChar(), html);
|
||||
// player.sendPacket(new TutorialShowHtml(html));
|
||||
}
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_BYPASS)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void OnPlayerBypass(OnPlayerBypass event)
|
||||
{
|
||||
if (event.getCommand().startsWith("Quest ClassMaster "))
|
||||
{
|
||||
final String html = onAdvEvent(event.getCommand().substring(18), null, event.getActiveChar());
|
||||
event.getActiveChar().sendPacket(TutorialCloseHtml.STATIC_PACKET);
|
||||
showResult(event.getActiveChar(), html);
|
||||
}
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_PROFESSION_CHANGE)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void OnPlayerProfessionChange(OnPlayerProfessionChange event)
|
||||
{
|
||||
showPopupWindow(event.getActiveChar());
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LEVEL_CHANGED)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void OnPlayerLevelChanged(OnPlayerLevelChanged event)
|
||||
{
|
||||
showPopupWindow(event.getActiveChar());
|
||||
}
|
||||
|
||||
@RegisterEvent(EventType.ON_PLAYER_LOGIN)
|
||||
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
|
||||
public void OnPlayerLogin(OnPlayerLogin event)
|
||||
{
|
||||
showPopupWindow(event.getActiveChar());
|
||||
}
|
||||
|
||||
private String getClassChangeOptions(L2PcInstance player, int selectedClassId)
|
||||
{
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < _classChangeData.size(); i++)
|
||||
{
|
||||
final ClassChangeData option = getClassChangeData(i);
|
||||
if ((option == null) || !option.getCategories().stream().anyMatch(ct -> player.isInCategory(ct)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
sb.append("<tr><td><img src=L2UI_CT1.ChatBalloon_DF_TopCenter width=276 height=1 /></td></tr>");
|
||||
sb.append("<tr><td><table bgcolor=3f3f3f width=100%>");
|
||||
sb.append("<tr><td align=center><a action=\"bypass -h Quest ClassMaster setclass " + selectedClassId + " " + i + "\">" + option.getName() + ":</a></td></tr>");
|
||||
sb.append("<tr><td><table width=276>");
|
||||
sb.append("<tr><td>Requirements:</td></tr>");
|
||||
if (option.getItemsRequired().isEmpty())
|
||||
{
|
||||
sb.append("<tr><td><font color=LEVEL>Free</font></td></tr>");
|
||||
}
|
||||
else
|
||||
{
|
||||
option.getItemsRequired().forEach(ih ->
|
||||
{
|
||||
if (ih.getChance() >= 100)
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">" + ih.getCount() + "</font></td><td>" + ItemTable.getInstance().getTemplate(ih.getId()).getName() + "</td><td width=30></td></tr>");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">" + ih.getCount() + "</font></td><td>" + ItemTable.getInstance().getTemplate(ih.getId()).getName() + "</td><td width=30><font color=LEVEL>" + ih.getChance() + "%</font></td></tr>");
|
||||
}
|
||||
});
|
||||
}
|
||||
sb.append("<tr><td>Rewards:</td></tr>");
|
||||
if (option.getItemsRewarded().isEmpty())
|
||||
{
|
||||
if (option.isRewardNoblesse())
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">Noblesse status.</font></td></tr>");
|
||||
}
|
||||
|
||||
if (option.isRewardHero())
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">Hero status.</font></td></tr>");
|
||||
}
|
||||
|
||||
if (!option.isRewardNoblesse() && !option.isRewardHero())
|
||||
{
|
||||
sb.append("<tr><td><font color=LEVEL>none</font></td></tr>");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
option.getItemsRewarded().forEach(ih ->
|
||||
{
|
||||
if (ih.getChance() >= 100)
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">" + ih.getCount() + "</font></td><td>" + ItemTable.getInstance().getTemplate(ih.getId()).getName() + "</td><td width=30></td></tr>");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">" + ih.getCount() + "</font></td><td>" + ItemTable.getInstance().getTemplate(ih.getId()).getName() + "</td><td width=30><font color=LEVEL>" + ih.getChance() + "%</font></td></tr>");
|
||||
}
|
||||
});
|
||||
|
||||
if (option.isRewardNoblesse())
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">Noblesse status.</font></td></tr>");
|
||||
}
|
||||
if (option.isRewardHero())
|
||||
{
|
||||
sb.append("<tr><td><font color=\"LEVEL\">Hero status.</font></td></tr>");
|
||||
}
|
||||
}
|
||||
sb.append("</table></td></tr>");
|
||||
sb.append("</table></td></tr>");
|
||||
sb.append("<tr><td><img src=L2UI_CT1.ChatBalloon_DF_TopCenter width=276 height=1 /></td></tr>");
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static class ClassChangeData
|
||||
{
|
||||
private final String _name;
|
||||
private final List<CategoryType> _appliedCategories;
|
||||
private boolean _rewardNoblesse;
|
||||
private boolean _rewardHero;
|
||||
private List<ItemChanceHolder> _itemsRequired;
|
||||
private List<ItemChanceHolder> _itemsRewarded;
|
||||
|
||||
public ClassChangeData(String name, List<CategoryType> appliedCategories)
|
||||
{
|
||||
_name = name;
|
||||
_appliedCategories = appliedCategories != null ? appliedCategories : Collections.emptyList();
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
|
||||
public List<CategoryType> getCategories()
|
||||
{
|
||||
return _appliedCategories != null ? _appliedCategories : Collections.emptyList();
|
||||
}
|
||||
|
||||
public boolean isInCategory(L2PcInstance player)
|
||||
{
|
||||
if (_appliedCategories != null)
|
||||
{
|
||||
for (CategoryType category : _appliedCategories)
|
||||
{
|
||||
if (player.isInCategory(category))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isRewardNoblesse()
|
||||
{
|
||||
return _rewardNoblesse;
|
||||
}
|
||||
|
||||
public void setRewardNoblesse(boolean rewardNoblesse)
|
||||
{
|
||||
_rewardNoblesse = rewardNoblesse;
|
||||
}
|
||||
|
||||
public boolean isRewardHero()
|
||||
{
|
||||
return _rewardHero;
|
||||
}
|
||||
|
||||
public void setRewardHero(boolean rewardHero)
|
||||
{
|
||||
_rewardHero = rewardHero;
|
||||
}
|
||||
|
||||
void setItemsRequired(List<ItemChanceHolder> itemsRequired)
|
||||
{
|
||||
_itemsRequired = itemsRequired;
|
||||
}
|
||||
|
||||
public List<ItemChanceHolder> getItemsRequired()
|
||||
{
|
||||
return _itemsRequired != null ? _itemsRequired : Collections.emptyList();
|
||||
}
|
||||
|
||||
void setItemsRewarded(List<ItemChanceHolder> itemsRewarded)
|
||||
{
|
||||
_itemsRewarded = itemsRewarded;
|
||||
}
|
||||
|
||||
public List<ItemChanceHolder> getItemsRewarded()
|
||||
{
|
||||
return _itemsRewarded != null ? _itemsRewarded : Collections.emptyList();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkIfClassChangeHasOptions(L2PcInstance player)
|
||||
{
|
||||
boolean showOptions = _classChangeData.stream().filter(ccd -> !ccd.getItemsRequired().isEmpty()).anyMatch(ccd -> ccd.isInCategory(player)); // Check if there are requirements
|
||||
if (!showOptions)
|
||||
{
|
||||
showOptions = _classChangeData.stream().filter(ccd -> !ccd.getItemsRewarded().isEmpty()).filter(ccd -> ccd.isInCategory(player)).count() > 1; // Check if there is more than 1 reward to chose.
|
||||
}
|
||||
|
||||
return showOptions;
|
||||
}
|
||||
|
||||
private ClassChangeData getClassChangeData(int index)
|
||||
{
|
||||
if ((index >= 0) && (index < _classChangeData.size()))
|
||||
{
|
||||
return _classChangeData.get(index);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new ClassMaster();
|
||||
}
|
||||
}
|
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/cc_options.html
vendored
Normal file
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/cc_options.html
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><body>
|
||||
<center>%name% Class Master:</center><br>
|
||||
Please chose a class change payment option:
|
||||
<table width=280>
|
||||
%options%
|
||||
</table>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/pl014.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/pl014.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body><br><br>
|
||||
You are not the leader of this clan. You may not raise the level of it.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/qm_awaken.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/qm_awaken.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Are you interested in the 4th class transfer (Awaken!)?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster awaken">"Awaken me!"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/qm_thirdclass.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/qm_thirdclass.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Would you like to complete the third class transfer?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster thirdclass">"Yes, upgrade my class, please."</Button>
|
||||
</body></html>
|
18
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001.html
vendored
Normal file
18
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001.html
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
How may I help you?<br>
|
||||
<font color="LEVEL">*About haracters*</font><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster firstclass">"I want to complete the first class transfer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster secondclass">"I want to complete the second class transfer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster thirdclass">"I want to complete the third class transfer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster awaken">"I'm interested in the 4th class transfer (Awaken!)."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setnoble">"I want to become a Noblesse!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-6&reply=2">"I want to acquire the Exalted status."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster learnskills">"I want to learn all skills up to the third class transfer."</Button><br>
|
||||
<font color="LEVEL">*About Items*</font><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Multisell 697">"I need some gear."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Multisell 622">"I want to purchase some Enhancers and such."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Multisell 644">"I want to buy some Dimensional Items."</Button><br>
|
||||
<font color="LEVEL">*About Clans*</font><br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster clanlevel">"Can I raise my clan level?" </Button>
|
||||
</body>
|
||||
</html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001_failed.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001_failed.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
This service is not offered to adventurers who have Awakened and acquired the power of giants.
|
||||
</body></html>
|
11
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001a.html
vendored
Normal file
11
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001a.html
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
What item do you need?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy0">"I need soulshots, shared items and other supplies."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy1">"I need a no-grade recipe."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy2">"I need a D-grade recipe."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy3">"I need a C-grade recipe."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy4">"I need a B-grade recipe."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy5">"I need an A-grade recipe."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy6">"I need an S-grade recipe."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy7">"I need an ordinary manufacturing recipe."</Button>
|
||||
</body></html>
|
11
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001b.html
vendored
Normal file
11
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001b.html
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
What do you need?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy0">"I need an Essential item - Grade D or lower."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy1">"I need an Essential item - Grade C."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy2">"I need an Essential item - Grade B."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy3">"I need an Essential item - Grade A."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy4">"I need an Essential item - Grade S and General Production Material Item."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy5">"I need a Spellbook (1)."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy6">"I need a Spellbook (2)."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Buy7">"I need a Spellbook (3)."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001c.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper001c.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You can Awaken if you take the Scroll of Afterlife to the Giant Statues and stand in front of the mark of a desired ancient statue to receive its powers.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster goawaken2">Do you wish to travel to the Giant Statues?</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper002.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper002.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Here you go! May I help you with anything else?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setnoble">"I want to become a Noblesse!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster clanlevel">"Can I raise my clan level?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster buyitems">"I want to buy some items."</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper003.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper003.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Thank you! May I help you with anything else?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setnoble">"I want to become a Noblesse!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster clanlevel">"Can I raise my clan level?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster buyitems">"I want to buy some items."</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper005.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper005.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
I'm sorry, but you don't seem to have anything that I can buy. May I help you with anything else?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setnoble">"I want to become a Noblesse!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster clanlevel">"Can I raise my clan level?"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster buyitems">"I want to buy some items."</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper010.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper010.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test ServerGuide:<br>
|
||||
You've already attempted the second class transfer!
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Guide:<br>
|
||||
You've already attempted the third class transfer!
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011a.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011a.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You have already Awakened.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011b.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011b.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You cannot Awaken yet because you have not done the 3rd class transfer or haven't reached Level 85.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011c.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper011c.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You cannot teleport due to one of the three reasons: you haven't done the 3rd class transfer, you haven't reached Level 85, or you don't have a Scroll of Afterlife.
|
||||
</body></html>
|
9
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012.html
vendored
Normal file
9
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012.html
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 2">"Gladiators!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 3">"Warlord."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 5">"Paladin, of course."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 6">"Dark Avenger sounds good."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 8">"Treasure Hunter!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 9">"Hawkeye."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012a.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012a.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 2">"Gladiator, I guess."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 3">"Warlord, please!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012b.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012b.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 5">"Paladin."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 6">"I guess Dark Avenger?"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012c.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper012c.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 8">"Treasure Hunter."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 9">"Hawkeye with no doubt!"</Button>
|
||||
</body></html>
|
8
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper013.html
vendored
Normal file
8
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper013.html
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 12">"Sorcerer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 13">"Necromancer!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 14">"Warlock, of course."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 16">"Bishop!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 17">"...Prophet."</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper013a.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper013a.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 12">"Sorcerer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 13">"Necromancer!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 14">"Warlock, of course."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper013b.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper013b.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 16">"Bishop!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 17">"Hmm, Prophet, I guess."</Button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper014.html
vendored
Normal file
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper014.html
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 20">"Temple Knight."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 21">"Sword Singer, I guess."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 23">"Plainswalker, of course."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 24">"Silver Ranger!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper014a.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper014a.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 20">"Temple Knight!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 21">"Sword Singer, of course."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper014b.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper014b.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 23">"Plainswalker, of course."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 24">"Silver Ranger!"</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper015.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper015.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 27">"Spellsinger, please!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 28">"Elemental Summoner."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 30">"Elder!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper015a.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper015a.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 27">"Spellsinger, please!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 28">"Elemental Summoner."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper015b.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper015b.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 30">"Elder."</Button>
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper016.html
vendored
Normal file
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper016.html
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 33">"Shillien Knight!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 34">"Hmm... Bladedancer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 36">"Abyss Walker sounds good to me."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 37">"Phantom Ranger."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper016a.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper016a.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 33">"Shillien Knight, of course."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 34">"Bladedancer."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper016b.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper016b.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 36">"Abyss Walker sounds good to me."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 37">"Phantom Ranger."</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper017.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper017.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 40">"Spellhowler sounds good."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 41">"Phantom Summoner."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 43">"Shillien Elder!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper017a.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper017a.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 40">"Spellhowler sounds good."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 41">"Phantom Summoner."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper017b.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper017b.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 43">"Shillien Elder."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper018.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper018.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 46">"Destroyer."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 48">"Tyrant!"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper018a.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper018a.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 46">"Destroyer!"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper018b.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper018b.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 48">"Tyrant."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper019.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper019.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 51">"Overlord!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 52">"Warcryer, of course."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you want to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 55">"Bounty Hunter, of course."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 57">"Warsmith!"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020a.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020a.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 55">"Bounty Hunter."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020b.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020b.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to change your occupation to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 57">"Warsmith."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020c.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020c.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you wish to transfer?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 127">"Berserker."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 128">"Soul Breaker!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020d.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020d.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you wish to transfer?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 130">"Arbalester."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 129">"Soul Breaker!"</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020e.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020e.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you wish to transfer?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 184">"Marauder."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020f.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper020f.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you wish to transfer?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 185">"Cloud Breaker."</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper021.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper021.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Guide:<br>
|
||||
You have successfully transferred class!
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper022.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper022.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Do you want to raise your clan's level?<br>
|
||||
You can raise it <font color="LEVEL">up to level 10</font>, using the test server helper.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster clanlevelup">"I want to level up."</Button>
|
||||
<Button ALIGN=LEFT ICON="RETURN" action="link test_server_helper001.htm">Back</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper022a.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper022a.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You cannot raise your clan's level above 10.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper023.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper023.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Guide:<br>
|
||||
The second class transfer is only available for characters level 40 or above.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper024.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper024.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Guide:<br>
|
||||
characters level 76 or above who have completed their second occupation change can change occupations for a third time.<br>
|
||||
Come back after you've finished your second occupation change and reached level 76.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper025.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper025.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Congratulations on becoming a Noblesse!<br>
|
||||
Now you can have all the benefits of being a Noblesse, including a subclass!
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper025a.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper025a.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Your level isn't high enough. To become a Noblesse, you must be <font color="LEVEL">level 75 or above</font>!
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper025b.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper025b.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You're already a Noblesse, aren't you? I can't do anything more.
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026a.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026a.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 1">"Warrior!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 4">"Human Knight, I guess."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 7">"Rogue, please."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026b.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026b.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 11">"Wizard!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 15">"Cleric."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026c.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026c.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 19">"Elven Knight."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 22">"Elven Scout."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026d.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026d.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 26">"Elven Wizard!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 29">"Elven Oracle..."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026e.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026e.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 32">"Palus Knight!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 35">"Assassin, please!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026f.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026f.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 39">"Dark Wizard."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 42">"Shillien Oracle!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026g.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026g.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 45">"Orc Raider."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 47">"Orc Monk."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026h.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026h.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 50">"Orc Shaman."</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026i.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026i.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 54">"Scavenger."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 56">"Artisan."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026j.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026j.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 125">"Trooper."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026k.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper026k.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
To which class do you want to change?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 126">"Warder."</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper027.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper027.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Only characters whose level is 20 or above may conduct the first occupation change.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper027a.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper027a.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Ertheia races skip the first class transfer. They start from second class occupation change at level 40 or above.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper028.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper028.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You've already completed your first occupation change.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper029.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper029.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Only characters who have completed their first occupation change and whose level is 40 or above can conduct the second occupation change.<br>
|
||||
Try again after completing your first occupation change and having reached level 40 or above.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 125">"Trooper."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030a.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030a.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 126">"Warder."</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030b.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030b.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 127">"Berserker."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 128">"Soul Breaker!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 135">"Inspector with no doubt."</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030c.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030c.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 130">"Arbalester."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 129">"Soul Breaker!"</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 135">"Inspector with no doubt."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030d.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030d.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 131">"Doombringer."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030e.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030e.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 134">"Trickster."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030f.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030f.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 132">"Soul Hound."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030g.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030g.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 133">"Soul Hound."</Button>
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030h.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper030h.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Which class do you wish to transfer to?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster setclass 136">"Judicator!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper031.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper031.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
A Kamael who desires to become a Noblesse must complete the <font color="LEVEL">Seed of Chaos</font> quest and bring the Star of Destiny to Hierarch Kekropus.<br>
|
||||
In order to undertake the Seed of Chaos quest, you must have the Star of Destiny -- please buy this quest item.<br>
|
||||
Once you have comepleted this quest, you may become a Noblesse through the Test Server Helper.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper032.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper032.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Class transfer failed!
|
||||
</body></html>
|
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper033.html
vendored
Normal file
7
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper033.html
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You can exchange a Minion Coupon for a Minion Pet. Which one do you want?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=2">"I want a White Weasel Pet Whistle."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=3">"I want a Fairy Princess Pet Whistle."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=4">"I want a Wild Beast Fighter Pet Whistle."</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=5">"I want a Fox Shaman Pet Whistle."</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper034.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper034.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You selected a White Weasel Pet Whistle.<br1>
|
||||
A White Weasel will help you in battle with <font color="LEVEL">fighter buffs and heals</font>.<br>
|
||||
Would you like to make the exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=12">"Yes!"</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper035.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper035.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You selected a Fairy Princess Pet Whistle.<br1>
|
||||
A Fairy Princess will help you in battle with <font color="LEVEL">wizard buffs and heals</font>.<br>
|
||||
Would you like to make the exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=13">"Yes!"</Button>
|
||||
</body></html>
|
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper036.html
vendored
Normal file
6
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper036.html
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You selected a Wild Beast Fighter Pet Whistle.<br1>
|
||||
A Wild Beast Fighter will help you in battle with <font color="LEVEL">fierce attacks</font>.<br>
|
||||
Would you like to make the exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=14">"Yes!"</Button>
|
||||
</body></html>
|
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper037.html
vendored
Normal file
5
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper037.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You selected a Fox Shaman Pet Whistle.<br1>A Fox Shaman will help you in battle with <font color="LEVEL">strong magic</font>.<br>
|
||||
Would you like to make the exchange?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest ClassMaster ask=-20&reply=15">"Yes!"</Button>
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper038.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper038.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
I'm sorry, but you don't have enough Minion Coupons.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper039.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper039.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
Thank you for visiting!
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper040.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper040.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
The current level is 95 or above.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper041.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper041.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You have already received the Hero's Support Box.
|
||||
</body></html>
|
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper042.html
vendored
Normal file
4
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper042.html
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
<font color="LEVEL">Clan Reputation</font> is provided only to <font color="LEVEL">Clan Leaders</font> representing clans of <font color="LEVEL">level 10 or above</font>.<br>
|
||||
It's provided only once. So if you have received it, you can't get it again.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper042b.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper042b.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You'll receive <font color="LEVEL">Clan Fame Points</font> since your clan has reached level 10. Use them to learn clan skills.
|
||||
</body></html>
|
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper042c.html
vendored
Normal file
3
trunk/dist/game/data/scripts/ai/others/ClassMaster/test_server_helper042c.html
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<html><body>Test Server Helper:<br>
|
||||
You've already received <font color="LEVEL">Clan Reputation</font>.
|
||||
</body></html>
|
Reference in New Issue
Block a user