Drops rework.
This commit is contained in:
Vendored
+2
-2
@@ -265,7 +265,7 @@ public class AdminAdmin implements IAdminCommandHandler
|
||||
}
|
||||
case "RateDropSpoil":
|
||||
{
|
||||
Config.RATE_CORPSE_DROP_CHANCE_MULTIPLIER = Float.valueOf(pValue);
|
||||
Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER = Float.valueOf(pValue);
|
||||
break;
|
||||
}
|
||||
case "EnchantChanceElementStone":
|
||||
@@ -462,7 +462,7 @@ public class AdminAdmin implements IAdminCommandHandler
|
||||
replyMSG.append("<tr><td><font color=\"00AA00\">Drop:</font></td><td></td><td></td></tr>");
|
||||
replyMSG.append("<tr><td><font color=\"LEVEL\">Rate EXP</font> = " + Config.RATE_XP + "</td><td><edit var=\"param1\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateXp $param1\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
|
||||
replyMSG.append("<tr><td><font color=\"LEVEL\">Rate SP</font> = " + Config.RATE_SP + "</td><td><edit var=\"param2\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateSp $param2\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
|
||||
replyMSG.append("<tr><td><font color=\"LEVEL\">Rate Drop Spoil</font> = " + Config.RATE_CORPSE_DROP_CHANCE_MULTIPLIER + "</td><td><edit var=\"param4\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateDropSpoil $param4\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
|
||||
replyMSG.append("<tr><td><font color=\"LEVEL\">Rate Drop Spoil</font> = " + Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER + "</td><td><edit var=\"param4\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateDropSpoil $param4\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
|
||||
replyMSG.append("<tr><td width=140></td><td width=40></td><td width=40></td></tr>");
|
||||
replyMSG.append("<tr><td><font color=\"00AA00\">Enchant:</font></td><td></td><td></td></tr>");
|
||||
replyMSG.append("<tr><td><font color=\"LEVEL\">Enchant Element Stone</font> = " + Config.ENCHANT_CHANCE_ELEMENT_STONE + "</td><td><edit var=\"param8\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig EnchantChanceElementStone $param8\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
|
||||
|
||||
+119
-118
@@ -18,14 +18,15 @@ package handlers.bypasshandlers;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.util.CommonUtil;
|
||||
import com.l2jmobius.gameserver.cache.HtmCache;
|
||||
import com.l2jmobius.gameserver.datatables.ItemTable;
|
||||
import com.l2jmobius.gameserver.enums.AttributeType;
|
||||
import com.l2jmobius.gameserver.enums.DropType;
|
||||
import com.l2jmobius.gameserver.handler.IBypassHandler;
|
||||
import com.l2jmobius.gameserver.model.L2Object;
|
||||
import com.l2jmobius.gameserver.model.L2Spawn;
|
||||
@@ -34,10 +35,7 @@ import com.l2jmobius.gameserver.model.actor.L2Attackable;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.drops.DropListScope;
|
||||
import com.l2jmobius.gameserver.model.drops.GeneralDropItem;
|
||||
import com.l2jmobius.gameserver.model.drops.GroupedGeneralDropItem;
|
||||
import com.l2jmobius.gameserver.model.drops.IDropItem;
|
||||
import com.l2jmobius.gameserver.model.holders.DropHolder;
|
||||
import com.l2jmobius.gameserver.model.items.L2Item;
|
||||
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import com.l2jmobius.gameserver.util.HtmlUtil;
|
||||
@@ -106,10 +104,10 @@ public class NpcViewMod implements IBypassHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
final String dropListScopeString = st.nextToken();
|
||||
final String dropListTypeString = st.nextToken();
|
||||
try
|
||||
{
|
||||
final DropListScope dropListScope = Enum.valueOf(DropListScope.class, dropListScopeString);
|
||||
final DropType dropListType = Enum.valueOf(DropType.class, dropListTypeString);
|
||||
final L2Object target = L2World.getInstance().findObject(Integer.parseInt(st.nextToken()));
|
||||
final L2Npc npc = target instanceof L2Npc ? (L2Npc) target : null;
|
||||
if (npc == null)
|
||||
@@ -117,7 +115,7 @@ public class NpcViewMod implements IBypassHandler
|
||||
return false;
|
||||
}
|
||||
final int page = st.hasMoreElements() ? Integer.parseInt(st.nextToken()) : 0;
|
||||
sendNpcDropList(activeChar, npc, dropListScope, page);
|
||||
sendNpcDropList(activeChar, npc, dropListType, page);
|
||||
}
|
||||
catch (NumberFormatException e)
|
||||
{
|
||||
@@ -125,7 +123,7 @@ public class NpcViewMod implements IBypassHandler
|
||||
}
|
||||
catch (IllegalArgumentException e)
|
||||
{
|
||||
_log.warning("Bypass[NpcViewMod] unknown drop list scope: " + dropListScopeString);
|
||||
_log.warning("Bypass[NpcViewMod] unknown drop list scope: " + dropListTypeString);
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
@@ -336,21 +334,22 @@ public class NpcViewMod implements IBypassHandler
|
||||
activeChar.sendPacket(html);
|
||||
}
|
||||
|
||||
public static String getDropListButtons(L2Npc npc)
|
||||
private static String getDropListButtons(L2Npc npc)
|
||||
{
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
final Map<DropListScope, List<IDropItem>> dropLists = npc.getTemplate().getDropLists();
|
||||
if ((dropLists != null) && !dropLists.isEmpty() && (dropLists.containsKey(DropListScope.DEATH) || dropLists.containsKey(DropListScope.CORPSE)))
|
||||
final List<DropHolder> dropListDeath = npc.getTemplate().getDropList(DropType.DROP);
|
||||
final List<DropHolder> dropListSpoil = npc.getTemplate().getDropList(DropType.SPOIL);
|
||||
if ((dropListDeath != null) || (dropListSpoil != null))
|
||||
{
|
||||
sb.append("<table width=275 cellpadding=0 cellspacing=0><tr>");
|
||||
if (dropLists.containsKey(DropListScope.DEATH))
|
||||
if (dropListDeath != null)
|
||||
{
|
||||
sb.append("<td align=center><button value=\"Show Drop\" width=100 height=25 action=\"bypass NpcViewMod dropList DEATH " + npc.getObjectId() + "\" back=\"L2UI_CT1.Button_DF_Calculator_Down\" fore=\"L2UI_CT1.Button_DF_Calculator\"></td>");
|
||||
sb.append("<td align=center><button value=\"Show Drop\" width=100 height=25 action=\"bypass NpcViewMod dropList DROP " + npc.getObjectId() + "\" back=\"L2UI_CT1.Button_DF_Calculator_Down\" fore=\"L2UI_CT1.Button_DF_Calculator\"></td>");
|
||||
}
|
||||
|
||||
if (dropLists.containsKey(DropListScope.CORPSE))
|
||||
if (dropListSpoil != null)
|
||||
{
|
||||
sb.append("<td align=center><button value=\"Show Spoil\" width=100 height=25 action=\"bypass NpcViewMod dropList CORPSE " + npc.getObjectId() + "\" back=\"L2UI_CT1.Button_DF_Calculator_Down\" fore=\"L2UI_CT1.Button_DF_Calculator\"></td>");
|
||||
sb.append("<td align=center><button value=\"Show Spoil\" width=100 height=25 action=\"bypass NpcViewMod dropList SPOIL " + npc.getObjectId() + "\" back=\"L2UI_CT1.Button_DF_Calculator_Down\" fore=\"L2UI_CT1.Button_DF_Calculator\"></td>");
|
||||
}
|
||||
|
||||
sb.append("</tr></table>");
|
||||
@@ -358,10 +357,10 @@ public class NpcViewMod implements IBypassHandler
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static void sendNpcDropList(L2PcInstance activeChar, L2Npc npc, DropListScope dropListScope, int page)
|
||||
private static void sendNpcDropList(L2PcInstance activeChar, L2Npc npc, DropType dropType, int page)
|
||||
{
|
||||
final List<IDropItem> dropList = npc.getTemplate().getDropList(dropListScope);
|
||||
if ((dropList == null) || dropList.isEmpty())
|
||||
final List<DropHolder> dropList = npc.getTemplate().getDropList(dropType);
|
||||
if (dropList == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -378,7 +377,7 @@ public class NpcViewMod implements IBypassHandler
|
||||
pagesSb.append("<table><tr>");
|
||||
for (int i = 0; i < pages; i++)
|
||||
{
|
||||
pagesSb.append("<td align=center><button value=\"" + (i + 1) + "\" width=20 height=20 action=\"bypass NpcViewMod dropList " + dropListScope + " " + npc.getObjectId() + " " + i + "\" back=\"L2UI_CT1.Button_DF_Calculator_Down\" fore=\"L2UI_CT1.Button_DF_Calculator\"></td>");
|
||||
pagesSb.append("<td align=center><button value=\"" + (i + 1) + "\" width=20 height=20 action=\"bypass NpcViewMod dropList " + dropType + " " + npc.getObjectId() + " " + i + "\" back=\"L2UI_CT1.Button_DF_Calculator_Down\" fore=\"L2UI_CT1.Button_DF_Calculator\"></td>");
|
||||
}
|
||||
pagesSb.append("</tr></table>");
|
||||
}
|
||||
@@ -409,124 +408,126 @@ public class NpcViewMod implements IBypassHandler
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
int height = 64;
|
||||
final IDropItem dropItem = dropList.get(i);
|
||||
if (dropItem instanceof GeneralDropItem)
|
||||
final DropHolder dropItem = dropList.get(i);
|
||||
final L2Item item = ItemTable.getInstance().getTemplate(dropItem.getItemId());
|
||||
|
||||
// real time server rate calculations
|
||||
double rateChance = 1;
|
||||
double rateAmount = 1;
|
||||
if (dropType == DropType.SPOIL)
|
||||
{
|
||||
final GeneralDropItem generalDropItem = (GeneralDropItem) dropItem;
|
||||
final L2Item item = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
|
||||
sb.append("<table width=332 cellpadding=2 cellspacing=0 background=\"L2UI_CT1.Windows.Windows_DF_TooltipBG\">");
|
||||
sb.append("<tr><td width=32 valign=top>");
|
||||
sb.append("<img src=\"" + item.getIcon() + "\" width=32 height=32>");
|
||||
sb.append("</td><td fixwidth=300 align=center><font name=\"hs9\" color=\"CD9000\">");
|
||||
sb.append(item.getName());
|
||||
sb.append("</font></td></tr><tr><td width=32></td><td width=300><table width=295 cellpadding=0 cellspacing=0>");
|
||||
sb.append("<tr><td width=48 align=right valign=top><font color=\"LEVEL\">Amount:</font></td>");
|
||||
sb.append("<td width=247 align=center>");
|
||||
rateChance = Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER;
|
||||
rateAmount = Config.RATE_SPOIL_DROP_AMOUNT_MULTIPLIER;
|
||||
|
||||
final long min = generalDropItem.getMin(npc, activeChar);
|
||||
final long max = generalDropItem.getMax(npc, activeChar);
|
||||
if (min == max)
|
||||
// also check premium rates if available
|
||||
if (Config.PREMIUM_SYSTEM_ENABLED && activeChar.hasPremiumStatus())
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
rateChance *= Config.PREMIUM_RATE_SPOIL_CHANCE;
|
||||
rateAmount *= Config.PREMIUM_RATE_SPOIL_AMOUNT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Config.RATE_DROP_CHANCE_BY_ID.get(dropItem.getItemId()) != null)
|
||||
{
|
||||
rateChance *= Config.RATE_DROP_CHANCE_BY_ID.get(dropItem.getItemId());
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
rateChance *= Config.RATE_HERB_DROP_CHANCE_MULTIPLIER;
|
||||
}
|
||||
else if (npc.isRaid())
|
||||
{
|
||||
rateChance *= Config.RATE_RAID_DROP_CHANCE_MULTIPLIER;
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
sb.append(" - ");
|
||||
sb.append(amountFormat.format(max));
|
||||
rateChance *= Config.RATE_DEATH_DROP_CHANCE_MULTIPLIER;
|
||||
}
|
||||
|
||||
sb.append("</td></tr><tr><td width=48 align=right valign=top><font color=\"LEVEL\">Chance:</font></td>");
|
||||
sb.append("<td width=247 align=center>");
|
||||
sb.append(chanceFormat.format(Math.min(generalDropItem.getChance(npc, activeChar), 100)));
|
||||
sb.append("%</td></tr></table></td></tr><tr><td width=32></td><td width=300> </td></tr></table>");
|
||||
}
|
||||
else if (dropItem instanceof GroupedGeneralDropItem)
|
||||
{
|
||||
final GroupedGeneralDropItem generalGroupedDropItem = (GroupedGeneralDropItem) dropItem;
|
||||
if (generalGroupedDropItem.getItems().size() == 1)
|
||||
if (Config.RATE_DROP_AMOUNT_BY_ID.get(dropItem.getItemId()) != null)
|
||||
{
|
||||
final GeneralDropItem generalDropItem = generalGroupedDropItem.getItems().get(0);
|
||||
final L2Item item = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
|
||||
sb.append("<table width=332 cellpadding=2 cellspacing=0 background=\"L2UI_CT1.Windows.Windows_DF_TooltipBG\">");
|
||||
sb.append("<tr><td width=32 valign=top>");
|
||||
sb.append("<img src=\"" + item.getIcon() + "\" width=32 height=32>");
|
||||
sb.append("</td><td fixwidth=300 align=center><font name=\"hs9\" color=\"CD9000\">");
|
||||
sb.append(item.getName());
|
||||
sb.append("</font></td></tr><tr><td width=32></td><td width=300><table width=295 cellpadding=0 cellspacing=0>");
|
||||
sb.append("<tr><td width=48 align=right valign=top><font color=\"LEVEL\">Amount:</font></td>");
|
||||
sb.append("<td width=247 align=center>");
|
||||
|
||||
final long min = generalDropItem.getMin(npc, activeChar);
|
||||
final long max = generalDropItem.getMax(npc, activeChar);
|
||||
if (min == max)
|
||||
rateAmount *= Config.RATE_DROP_AMOUNT_BY_ID.get(dropItem.getItemId());
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
rateAmount *= Config.RATE_HERB_DROP_AMOUNT_MULTIPLIER;
|
||||
}
|
||||
else if (npc.isRaid())
|
||||
{
|
||||
rateAmount *= Config.RATE_RAID_DROP_AMOUNT_MULTIPLIER;
|
||||
}
|
||||
else
|
||||
{
|
||||
rateAmount *= Config.RATE_DEATH_DROP_AMOUNT_MULTIPLIER;
|
||||
}
|
||||
|
||||
// also check premium rates if available
|
||||
if (Config.PREMIUM_SYSTEM_ENABLED && activeChar.hasPremiumStatus())
|
||||
{
|
||||
if (Config.PREMIUM_RATE_DROP_CHANCE_BY_ID.get(dropItem.getItemId()) != null)
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
rateChance *= Config.PREMIUM_RATE_DROP_CHANCE_BY_ID.get(dropItem.getItemId());
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
// TODO: Premium herb chance? :)
|
||||
}
|
||||
else if (npc.isRaid())
|
||||
{
|
||||
// TODO: Premium raid chance? :)
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
sb.append(" - ");
|
||||
sb.append(amountFormat.format(max));
|
||||
rateChance *= Config.PREMIUM_RATE_DROP_CHANCE;
|
||||
}
|
||||
|
||||
sb.append("</td></tr><tr><td width=48 align=right valign=top><font color=\"LEVEL\">Chance:</font></td>");
|
||||
sb.append("<td width=247 align=center>");
|
||||
sb.append(chanceFormat.format(Math.min(generalGroupedDropItem.getChance(npc, activeChar), 100)));
|
||||
sb.append("%</td></tr></table></td></tr><tr><td width=32></td><td width=300> </td></tr></table>");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append("<table width=332 cellpadding=2 cellspacing=0 background=\"L2UI_CT1.Windows.Windows_DF_TooltipBG\">");
|
||||
sb.append("<tr><td width=32 valign=top><img src=\"L2UI_CT1.ICON_DF_premiumItem\" width=32 height=32></td>");
|
||||
sb.append("<td fixwidth=300 align=center><font name=\"ScreenMessageSmall\" color=\"CD9000\">One from group</font>");
|
||||
sb.append("</td></tr><tr><td width=32></td><td width=300><table width=295 cellpadding=0 cellspacing=0><tr>");
|
||||
sb.append("<td width=48 align=right valign=top><font color=\"LEVEL\">Chance:</font></td>");
|
||||
sb.append("<td width=247 align=center>");
|
||||
sb.append(chanceFormat.format(Math.min(generalGroupedDropItem.getChance(npc, activeChar), 100)));
|
||||
sb.append("%</td></tr></table><br>");
|
||||
|
||||
for (GeneralDropItem generalDropItem : generalGroupedDropItem.getItems())
|
||||
if (Config.PREMIUM_RATE_DROP_AMOUNT_BY_ID.get(dropItem.getItemId()) != null)
|
||||
{
|
||||
final L2Item item = ItemTable.getInstance().getTemplate(generalDropItem.getItemId());
|
||||
sb.append("<table width=291 cellpadding=2 cellspacing=0 background=\"L2UI_CT1.Windows.Windows_DF_TooltipBG\">");
|
||||
sb.append("<tr><td width=32 valign=top>");
|
||||
String icon = item.getIcon();
|
||||
if (icon == null)
|
||||
{
|
||||
icon = "icon.etc_question_mark_i00";
|
||||
}
|
||||
sb.append("<img src=\"" + icon + "\" width=32 height=32>");
|
||||
sb.append("</td><td fixwidth=259 align=center><font name=\"hs9\" color=\"CD9000\">");
|
||||
sb.append(item.getName());
|
||||
sb.append("</font></td></tr><tr><td width=32></td><td width=259><table width=253 cellpadding=0 cellspacing=0>");
|
||||
sb.append("<tr><td width=48 align=right valign=top><font color=\"LEVEL\">Amount:</font></td><td width=205 align=center>");
|
||||
|
||||
final long min = generalDropItem.getMin(npc, activeChar);
|
||||
final long max = generalDropItem.getMax(npc, activeChar);
|
||||
if (min == max)
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
sb.append(" - ");
|
||||
sb.append(amountFormat.format(max));
|
||||
}
|
||||
|
||||
sb.append("</td></tr><tr><td width=48 align=right valign=top><font color=\"LEVEL\">Chance:</font></td>");
|
||||
sb.append("<td width=205 align=center>");
|
||||
sb.append(chanceFormat.format(Math.min(generalDropItem.getChance(npc, activeChar), 100)));
|
||||
sb.append("%</td></tr></table></td></tr><tr><td width=32></td><td width=259> </td></tr></table>");
|
||||
|
||||
height += 64;
|
||||
rateAmount *= Config.PREMIUM_RATE_DROP_AMOUNT_BY_ID.get(dropItem.getItemId());
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
// TODO: Premium herb amount? :)
|
||||
}
|
||||
else if (npc.isRaid())
|
||||
{
|
||||
// TODO: Premium raid amount? :)
|
||||
}
|
||||
else
|
||||
{
|
||||
rateAmount *= Config.PREMIUM_RATE_DROP_AMOUNT;
|
||||
}
|
||||
|
||||
sb.append("</td></tr><tr><td width=32></td><td width=300> </td></tr></table>");
|
||||
}
|
||||
}
|
||||
|
||||
sb.append("<table width=332 cellpadding=2 cellspacing=0 background=\"L2UI_CT1.Windows.Windows_DF_TooltipBG\">");
|
||||
sb.append("<tr><td width=32 valign=top>");
|
||||
sb.append("<img src=\"" + (item.getIcon() == null ? "icon.etc_question_mark_i00" : item.getIcon()) + "\" width=32 height=32>");
|
||||
sb.append("</td><td fixwidth=300 align=center><font name=\"hs9\" color=\"CD9000\">");
|
||||
sb.append(item.getName());
|
||||
sb.append("</font></td></tr><tr><td width=32></td><td width=300><table width=295 cellpadding=0 cellspacing=0>");
|
||||
sb.append("<tr><td width=48 align=right valign=top><font color=\"LEVEL\">Amount:</font></td>");
|
||||
sb.append("<td width=247 align=center>");
|
||||
|
||||
final long min = (long) (dropItem.getMin() * rateAmount);
|
||||
final long max = (long) (dropItem.getMax() * rateAmount);
|
||||
if (min == max)
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.append(amountFormat.format(min));
|
||||
sb.append(" - ");
|
||||
sb.append(amountFormat.format(max));
|
||||
}
|
||||
|
||||
sb.append("</td></tr><tr><td width=48 align=right valign=top><font color=\"LEVEL\">Chance:</font></td>");
|
||||
sb.append("<td width=247 align=center>");
|
||||
sb.append(chanceFormat.format(Math.min((long) dropItem.getChance() * rateChance, 100)));
|
||||
sb.append("%</td></tr></table></td></tr><tr><td width=32></td><td width=300> </td></tr></table>");
|
||||
|
||||
if ((sb.length() + rightSb.length() + leftSb.length()) < 16000) // limit of 32766?
|
||||
{
|
||||
if (leftHeight >= (rightHeight + height))
|
||||
|
||||
+137
-51
@@ -22,23 +22,21 @@ import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
import java.util.StringJoiner;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.util.Rnd;
|
||||
import com.l2jmobius.gameserver.cache.HtmCache;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jmobius.gameserver.data.xml.impl.SpawnsData;
|
||||
import com.l2jmobius.gameserver.datatables.ItemTable;
|
||||
import com.l2jmobius.gameserver.enums.DropType;
|
||||
import com.l2jmobius.gameserver.handler.CommunityBoardHandler;
|
||||
import com.l2jmobius.gameserver.handler.IParseBoardHandler;
|
||||
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jmobius.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jmobius.gameserver.model.drops.DropListScope;
|
||||
import com.l2jmobius.gameserver.model.drops.GeneralDropItem;
|
||||
import com.l2jmobius.gameserver.model.drops.GroupedGeneralDropItem;
|
||||
import com.l2jmobius.gameserver.model.drops.IDropItem;
|
||||
import com.l2jmobius.gameserver.model.holders.DropHolder;
|
||||
import com.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
||||
import com.l2jmobius.gameserver.model.items.L2Item;
|
||||
import com.l2jmobius.gameserver.model.spawns.NpcSpawnTemplate;
|
||||
@@ -56,40 +54,40 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
"_bbs_npc_trace"
|
||||
};
|
||||
|
||||
class DropHolder
|
||||
class CBDropHolder
|
||||
{
|
||||
int itemId;
|
||||
int npcId;
|
||||
byte npcLevel;
|
||||
long basemin;
|
||||
long basemax;
|
||||
double baseGroupChance;
|
||||
double basechance;
|
||||
boolean isSweep;
|
||||
long min;
|
||||
long max;
|
||||
double chance;
|
||||
boolean isSpoil;
|
||||
boolean isRaid;
|
||||
|
||||
public DropHolder(L2NpcTemplate npc, GeneralDropItem item, double groupChance, boolean isSweep)
|
||||
public CBDropHolder(L2NpcTemplate npcTemplate, DropHolder dropHolder)
|
||||
{
|
||||
itemId = item.getItemId();
|
||||
npcId = npc.getId();
|
||||
npcLevel = npc.getLevel();
|
||||
basemin = item.getMin();
|
||||
basemax = item.getMax();
|
||||
baseGroupChance = groupChance;
|
||||
basechance = item.getChance();
|
||||
this.isSweep = isSweep;
|
||||
isSpoil = dropHolder.getDropType() == DropType.SPOIL;
|
||||
itemId = dropHolder.getItemId();
|
||||
npcId = npcTemplate.getId();
|
||||
npcLevel = npcTemplate.getLevel();
|
||||
min = dropHolder.getMin();
|
||||
max = dropHolder.getMax();
|
||||
chance = dropHolder.getChance();
|
||||
isRaid = npcTemplate.getType().equals("L2RaidBoss") || npcTemplate.getType().equals("L2GrandBoss");
|
||||
}
|
||||
|
||||
/**
|
||||
* only for debug'/;
|
||||
* only for debug
|
||||
*/
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "DropHolder [itemId=" + itemId + ", npcId=" + npcId + ", npcLevel=" + npcLevel + ", basemin=" + basemin + ", basemax=" + basemax + ", baseGroupChance=" + baseGroupChance + ", basechance=" + basechance + ", isSweep=" + isSweep + "]";
|
||||
return "DropHolder [itemId=" + itemId + ", npcId=" + npcId + ", npcLevel=" + npcLevel + ", min=" + min + ", max=" + max + ", chance=" + chance + ", isSpoil=" + isSpoil + "]";
|
||||
}
|
||||
}
|
||||
|
||||
private final Map<Integer, List<DropHolder>> DROP_INDEX_CACHE = new HashMap<>();
|
||||
private final Map<Integer, List<CBDropHolder>> DROP_INDEX_CACHE = new HashMap<>();
|
||||
|
||||
// nonsupport items
|
||||
private final Set<Integer> BLOCK_ID = new HashSet<>();
|
||||
@@ -104,44 +102,39 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
|
||||
private void buildDropIndex()
|
||||
{
|
||||
NpcData.getInstance().getTemplates(npc -> npc.getDropLists() != null).forEach(npcTemplate ->
|
||||
NpcData.getInstance().getTemplates(npc -> npc.getDropList(DropType.DROP) != null).forEach(npcTemplate ->
|
||||
{
|
||||
for (Entry<DropListScope, List<IDropItem>> entry : npcTemplate.getDropLists().entrySet())
|
||||
for (DropHolder dropHolder : npcTemplate.getDropList(DropType.DROP))
|
||||
{
|
||||
entry.getValue().forEach(idrop ->
|
||||
{
|
||||
if (idrop instanceof GroupedGeneralDropItem)
|
||||
{
|
||||
GroupedGeneralDropItem ggd = (GroupedGeneralDropItem) idrop;
|
||||
ggd.getItems().stream().forEach(gd -> addToDropList(npcTemplate, gd, ggd.getChance(), entry.getKey() == DropListScope.CORPSE));
|
||||
}
|
||||
else
|
||||
{
|
||||
GeneralDropItem gd = (GeneralDropItem) idrop;
|
||||
addToDropList(npcTemplate, gd, 100.0, entry.getKey() == DropListScope.CORPSE);
|
||||
}
|
||||
});
|
||||
addToDropList(npcTemplate, dropHolder);
|
||||
}
|
||||
});
|
||||
NpcData.getInstance().getTemplates(npc -> npc.getDropList(DropType.SPOIL) != null).forEach(npcTemplate ->
|
||||
{
|
||||
for (DropHolder dropHolder : npcTemplate.getDropList(DropType.SPOIL))
|
||||
{
|
||||
addToDropList(npcTemplate, dropHolder);
|
||||
}
|
||||
});
|
||||
|
||||
DROP_INDEX_CACHE.values().stream().forEach(l -> l.sort((d1, d2) -> Byte.valueOf(d1.npcLevel).compareTo(Byte.valueOf(d2.npcLevel))));
|
||||
}
|
||||
|
||||
private void addToDropList(L2NpcTemplate npcTemplate, GeneralDropItem gd, double groupChance, boolean isSweep)
|
||||
private void addToDropList(L2NpcTemplate npcTemplate, DropHolder dropHolder)
|
||||
{
|
||||
if (BLOCK_ID.contains(gd.getItemId()))
|
||||
if (BLOCK_ID.contains(dropHolder.getItemId()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
List<DropHolder> dropList = DROP_INDEX_CACHE.get(gd.getItemId());
|
||||
List<CBDropHolder> dropList = DROP_INDEX_CACHE.get(dropHolder.getItemId());
|
||||
if (dropList == null)
|
||||
{
|
||||
dropList = new ArrayList<>();
|
||||
DROP_INDEX_CACHE.put(gd.getItemId(), dropList);
|
||||
DROP_INDEX_CACHE.put(dropHolder.getItemId(), dropList);
|
||||
}
|
||||
|
||||
dropList.add(new DropHolder(npcTemplate, gd, groupChance, isSweep));
|
||||
dropList.add(new CBDropHolder(npcTemplate, dropHolder));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -164,7 +157,7 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
final DecimalFormat chanceFormat = new DecimalFormat("0.00##");
|
||||
int itemId = Integer.parseInt(params[1]);
|
||||
int page = Integer.parseInt(params[2]);
|
||||
List<DropHolder> list = DROP_INDEX_CACHE.get(itemId);
|
||||
List<CBDropHolder> list = DROP_INDEX_CACHE.get(itemId);
|
||||
int pages = list.size() / 14;
|
||||
if (pages == 0)
|
||||
{
|
||||
@@ -176,13 +169,106 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (int index = start; index <= end; index++)
|
||||
{
|
||||
DropHolder dropHolder = list.get(index);
|
||||
CBDropHolder cbDropHolder = list.get(index);
|
||||
|
||||
// real time server rate calculations
|
||||
double rateChance = 1;
|
||||
double rateAmount = 1;
|
||||
if (cbDropHolder.isSpoil)
|
||||
{
|
||||
rateChance = Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER;
|
||||
rateAmount = Config.RATE_SPOIL_DROP_AMOUNT_MULTIPLIER;
|
||||
|
||||
// also check premium rates if available
|
||||
if (Config.PREMIUM_SYSTEM_ENABLED && player.hasPremiumStatus())
|
||||
{
|
||||
rateChance *= Config.PREMIUM_RATE_SPOIL_CHANCE;
|
||||
rateAmount *= Config.PREMIUM_RATE_SPOIL_AMOUNT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
final L2Item item = ItemTable.getInstance().getTemplate(cbDropHolder.itemId);
|
||||
|
||||
if (Config.RATE_DROP_CHANCE_BY_ID.get(cbDropHolder.itemId) != null)
|
||||
{
|
||||
rateChance *= Config.RATE_DROP_CHANCE_BY_ID.get(cbDropHolder.itemId);
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
rateChance *= Config.RATE_HERB_DROP_CHANCE_MULTIPLIER;
|
||||
}
|
||||
else if (cbDropHolder.isRaid)
|
||||
{
|
||||
rateAmount *= Config.RATE_RAID_DROP_CHANCE_MULTIPLIER;
|
||||
}
|
||||
else
|
||||
{
|
||||
rateChance *= Config.RATE_DEATH_DROP_CHANCE_MULTIPLIER;
|
||||
}
|
||||
|
||||
if (Config.RATE_DROP_AMOUNT_BY_ID.get(cbDropHolder.itemId) != null)
|
||||
{
|
||||
rateAmount *= Config.RATE_DROP_AMOUNT_BY_ID.get(cbDropHolder.itemId);
|
||||
}
|
||||
else if (cbDropHolder.isRaid)
|
||||
{
|
||||
rateAmount *= Config.RATE_RAID_DROP_AMOUNT_MULTIPLIER;
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
rateAmount *= Config.RATE_HERB_DROP_AMOUNT_MULTIPLIER;
|
||||
}
|
||||
else
|
||||
{
|
||||
rateAmount *= Config.RATE_DEATH_DROP_AMOUNT_MULTIPLIER;
|
||||
}
|
||||
|
||||
// also check premium rates if available
|
||||
if (Config.PREMIUM_SYSTEM_ENABLED && player.hasPremiumStatus())
|
||||
{
|
||||
if (Config.PREMIUM_RATE_DROP_CHANCE_BY_ID.get(cbDropHolder.itemId) != null)
|
||||
{
|
||||
rateChance *= Config.PREMIUM_RATE_DROP_CHANCE_BY_ID.get(cbDropHolder.itemId);
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
// TODO: Premium herb chance? :)
|
||||
}
|
||||
else if (cbDropHolder.isRaid)
|
||||
{
|
||||
// TODO: Premium raid chance? :)
|
||||
}
|
||||
else
|
||||
{
|
||||
rateChance *= Config.PREMIUM_RATE_DROP_CHANCE;
|
||||
}
|
||||
|
||||
if (Config.PREMIUM_RATE_DROP_AMOUNT_BY_ID.get(cbDropHolder.itemId) != null)
|
||||
{
|
||||
rateAmount *= Config.PREMIUM_RATE_DROP_AMOUNT_BY_ID.get(cbDropHolder.itemId);
|
||||
}
|
||||
else if (item.hasExImmediateEffect())
|
||||
{
|
||||
// TODO: Premium herb amount? :)
|
||||
}
|
||||
else if (cbDropHolder.isRaid)
|
||||
{
|
||||
// TODO: Premium raid amount? :)
|
||||
}
|
||||
else
|
||||
{
|
||||
rateAmount *= Config.PREMIUM_RATE_DROP_AMOUNT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
builder.append("<tr>");
|
||||
builder.append("<td width=30>").append(dropHolder.npcLevel).append("</td>");
|
||||
builder.append("<td width=170>").append("<a action=\"bypass _bbs_npc_trace " + dropHolder.npcId + "\">").append("&@").append(dropHolder.npcId).append(";").append("</a>").append("</td>");
|
||||
builder.append("<td width=80 align=CENTER>").append(dropHolder.basemin).append("-").append(dropHolder.basemax).append("</td>");
|
||||
builder.append("<td width=50 align=CENTER>").append(chanceFormat.format((dropHolder.basechance * dropHolder.baseGroupChance) / 100)).append("%").append("</td>");
|
||||
builder.append("<td width=50 align=CENTER>").append(dropHolder.isSweep ? "Sweep" : "Drop").append("</td>");
|
||||
builder.append("<td width=30>").append(cbDropHolder.npcLevel).append("</td>");
|
||||
builder.append("<td width=170>").append("<a action=\"bypass _bbs_npc_trace " + cbDropHolder.npcId + "\">").append("&@").append(cbDropHolder.npcId).append(";").append("</a>").append("</td>");
|
||||
builder.append("<td width=80 align=CENTER>").append(cbDropHolder.min * rateAmount).append("-").append(cbDropHolder.max * rateAmount).append("</td>");
|
||||
builder.append("<td width=50 align=CENTER>").append(chanceFormat.format(cbDropHolder.chance * rateChance)).append("%").append("</td>");
|
||||
builder.append("<td width=50 align=CENTER>").append(cbDropHolder.isSpoil ? "Spoil" : "Drop").append("</td>");
|
||||
builder.append("</tr>");
|
||||
}
|
||||
|
||||
@@ -204,7 +290,7 @@ public class DropSearchBoard implements IParseBoardHandler
|
||||
List<NpcSpawnTemplate> spawnList = SpawnsData.getInstance().getNpcSpawns(npc -> npc.getId() == npcId);
|
||||
if (spawnList.isEmpty())
|
||||
{
|
||||
player.sendMessage("cant find any spawn maybe boss or instance mob");
|
||||
player.sendMessage("Cannot find any spawn. Maybe dropped by a boss or instance monster.");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+6
-6
@@ -49,15 +49,15 @@ public class Premium implements IVoicedCommandHandler
|
||||
html.append("<tr><td>Rate SP: <font color=\"LEVEL\"> x" + Config.RATE_SP + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Drop Chance: <font color=\"LEVEL\"> x" + Config.RATE_DEATH_DROP_CHANCE_MULTIPLIER + "<br1></font></td></tr><br>");
|
||||
html.append("<tr><td>Drop Amount: <font color=\"LEVEL\"> x" + Config.RATE_DEATH_DROP_AMOUNT_MULTIPLIER + "<br1></font></td></tr><br>");
|
||||
html.append("<tr><td>Spoil Chance: <font color=\"LEVEL\"> x" + Config.RATE_CORPSE_DROP_CHANCE_MULTIPLIER + "<br1></font></td></tr><br>");
|
||||
html.append("<tr><td>Spoil Amount: <font color=\"LEVEL\"> x" + Config.RATE_CORPSE_DROP_AMOUNT_MULTIPLIER + "<br><br></font></td></tr><br>");
|
||||
html.append("<tr><td>Spoil Chance: <font color=\"LEVEL\"> x" + Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER + "<br1></font></td></tr><br>");
|
||||
html.append("<tr><td>Spoil Amount: <font color=\"LEVEL\"> x" + Config.RATE_SPOIL_DROP_AMOUNT_MULTIPLIER + "<br><br></font></td></tr><br>");
|
||||
html.append("<tr><td><center>Premium Info & Rules<br></td></tr>");
|
||||
html.append("<tr><td>Rate XP: <font color=\"LEVEL\"> x" + (Config.RATE_XP * Config.PREMIUM_RATE_XP) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Rate SP: <font color=\"LEVEL\"> x" + (Config.RATE_SP * Config.PREMIUM_RATE_SP) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Drop Chance: <font color=\"LEVEL\"> x" + (Config.RATE_DEATH_DROP_CHANCE_MULTIPLIER * Config.RATE_DEATH_DROP_CHANCE_MULTIPLIER * Config.PREMIUM_RATE_DROP_CHANCE) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Drop Amount: <font color=\"LEVEL\"> x" + (Config.RATE_DEATH_DROP_AMOUNT_MULTIPLIER * Config.PREMIUM_RATE_DROP_AMOUNT) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Chance: <font color=\"LEVEL\"> x" + (Config.RATE_CORPSE_DROP_CHANCE_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_CHANCE) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Amount: <font color=\"LEVEL\"> x" + (Config.RATE_CORPSE_DROP_AMOUNT_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_AMOUNT) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Chance: <font color=\"LEVEL\"> x" + (Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_CHANCE) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Amount: <font color=\"LEVEL\"> x" + (Config.RATE_SPOIL_DROP_AMOUNT_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_AMOUNT) + "<br1></font></td></tr>");
|
||||
html.append("<tr><td> <font color=\"70FFCA\">1. Premium benefits CAN NOT BE TRANSFERED.<br1></font></td></tr>");
|
||||
html.append("<tr><td> <font color=\"70FFCA\">2. Premium does not effect party members.<br1></font></td></tr>");
|
||||
html.append("<tr><td> <font color=\"70FFCA\">3. Premium benefits effect ALL characters in same account.</font></td></tr>");
|
||||
@@ -71,8 +71,8 @@ public class Premium implements IVoicedCommandHandler
|
||||
html.append("<tr><td>Rate SP: <font color=\"LEVEL\">x" + (Config.RATE_SP * Config.PREMIUM_RATE_SP) + " <br1></font></td></tr>");
|
||||
html.append("<tr><td>Drop Chance: <font color=\"LEVEL\">x" + (Config.RATE_DEATH_DROP_CHANCE_MULTIPLIER * Config.PREMIUM_RATE_DROP_CHANCE) + " <br1></font></td></tr>");
|
||||
html.append("<tr><td>Drop Amount: <font color=\"LEVEL\">x" + (Config.RATE_DEATH_DROP_AMOUNT_MULTIPLIER * Config.PREMIUM_RATE_DROP_AMOUNT) + " <br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Chance: <font color=\"LEVEL\">x" + (Config.RATE_CORPSE_DROP_CHANCE_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_CHANCE) + " <br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Amount: <font color=\"LEVEL\">x" + (Config.RATE_CORPSE_DROP_AMOUNT_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_AMOUNT) + " <br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Chance: <font color=\"LEVEL\">x" + (Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_CHANCE) + " <br1></font></td></tr>");
|
||||
html.append("<tr><td>Spoil Amount: <font color=\"LEVEL\">x" + (Config.RATE_SPOIL_DROP_AMOUNT_MULTIPLIER * Config.PREMIUM_RATE_SPOIL_AMOUNT) + " <br1></font></td></tr>");
|
||||
html.append("<tr><td>Expires: <font color=\"00A5FF\">" + format.format(endDate) + "</font></td></tr>");
|
||||
html.append("<tr><td>Current Date: <font color=\"70FFCA\">" + format.format(System.currentTimeMillis()) + "<br><br></font></td></tr>");
|
||||
html.append("<tr><td><center>Premium Info & Rules<br></center></td></tr>");
|
||||
|
||||
+236
-272
@@ -1,272 +1,236 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="2081" level="82" type="L2Monster" name="Canabion of Plague">
|
||||
<!-- TODO: Must be confirmed -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
<param name="MoveAroundSocial1" value="100" />
|
||||
<param name="MoveAroundSocial2" value="100" />
|
||||
<param name="Skill01_Probablity" value="2000" />
|
||||
<param name="Type" value="0" />
|
||||
<param name="PrivatesNorm" value="2081" />
|
||||
<param name="PrivatesSpA" value="2082" />
|
||||
<param name="PrivatesSpB" value="2083" />
|
||||
<param name="MyMakerName" value="inzone03_2111_80m1" />
|
||||
<param name="SoulShot" value="200" />
|
||||
<param name="SoulShotRate" value="5" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="10" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="Skill01_ID" id="4032" level="8" />
|
||||
<skill name="Debuff" id="5719" level="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="12707" sp="3" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="3643" mp="1743" hpRegen="8.5" mpRegen="3" />
|
||||
<attack physical="1055.28566004965" magical="720.623302603812" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" critical="4" accuracy="5" />
|
||||
<defence physical="349.77477" magical="255.95" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="8" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<skill_list>
|
||||
<skill id="4032" level="1" /> <!-- NPC Strike -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
<skill id="5565" level="1" /> <!-- Expose Weak Point -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
</skill_list>
|
||||
<ai clanHelpRange="200" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>RIM</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="42">
|
||||
<item id="8600" min="1" max="1" chance="20" /> <!-- Herb of Life -->
|
||||
<item id="8601" min="1" max="1" chance="45" /> <!-- Major Herb of Life -->
|
||||
<item id="8602" min="1" max="1" chance="35" /> <!-- Superior Herb of Life -->
|
||||
</group>
|
||||
<group chance="11">
|
||||
<item id="8603" min="1" max="1" chance="10" /> <!-- Herb of Mana -->
|
||||
<item id="8604" min="1" max="1" chance="54" /> <!-- Major Herb of Mana -->
|
||||
<item id="8605" min="1" max="1" chance="36" /> <!-- Superior Herb of Mana -->
|
||||
</group>
|
||||
<group chance="25">
|
||||
<item id="8606" min="1" max="1" chance="20" /> <!-- Herb of Power -->
|
||||
<item id="8608" min="1" max="1" chance="20" /> <!-- Haste Herb -->
|
||||
<item id="8610" min="1" max="1" chance="20" /> <!-- Herb of Critical Attack - Probability -->
|
||||
<item id="10655" min="1" max="1" chance="20" /> <!-- Herb of HP Drain -->
|
||||
<item id="10656" min="1" max="1" chance="20" /> <!-- Herb of Critical Attack - Power -->
|
||||
</group>
|
||||
<group chance="10">
|
||||
<item id="8607" min="1" max="1" chance="50" /> <!-- Herb of Magic -->
|
||||
<item id="8609" min="1" max="1" chance="50" /> <!-- Herb of Casting Spd. -->
|
||||
</group>
|
||||
<group chance="1">
|
||||
<item id="8612" min="1" max="1" chance="33" /> <!-- Herb of the Warrior -->
|
||||
<item id="8613" min="1" max="1" chance="33" /> <!-- Wizard Herb -->
|
||||
<item id="8614" min="1" max="1" chance="34" /> <!-- Herb of Recovery -->
|
||||
</group>
|
||||
<group chance="11">
|
||||
<item id="8611" min="1" max="1" chance="94" /> <!-- Wind Walk Herb -->
|
||||
<item id="10657" min="1" max="1" chance="6" /> <!-- Mysterious Herb -->
|
||||
</group>
|
||||
</death>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="9" />
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="2082" level="82" type="L2Monster" name="Canabion of Plague" title="Doppler">
|
||||
<!-- TODO: Must be confirmed -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="160" />
|
||||
<param name="MoveAroundSocial1" value="160" />
|
||||
<param name="MoveAroundSocial2" value="160" />
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="1" />
|
||||
<param name="Skill01_Probablity" value="3500" />
|
||||
<param name="Type" value="1" />
|
||||
<param name="PrivatesNorm" value="2081" />
|
||||
<param name="PrivatesSpA" value="2082" />
|
||||
<param name="PrivatesSpB" value="2083" />
|
||||
<param name="MyMakerName" value="inzone03_2111_80m1" />
|
||||
<param name="SoulShot" value="200" />
|
||||
<param name="SoulShotRate" value="5" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="10" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="Skill01_ID" id="4032" level="8" />
|
||||
<skill name="Debuff" id="5719" level="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="12707" sp="3" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="3643" mp="1743" hpRegen="8.5" mpRegen="3" />
|
||||
<attack physical="1055.28566004965" magical="720.623302603812" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" critical="4" accuracy="5" />
|
||||
<defence physical="349.77477" magical="255.95" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="10" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<skill_list>
|
||||
<skill id="4032" level="1" /> <!-- NPC Strike -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
<skill id="5565" level="1" /> <!-- Expose Weak Point -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
</skill_list>
|
||||
<ai clanHelpRange="200" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>RIM</clan>
|
||||
<ignore_npc_id>2081</ignore_npc_id>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="42">
|
||||
<item id="8600" min="1" max="1" chance="20" /> <!-- Herb of Life -->
|
||||
<item id="8601" min="1" max="1" chance="45" /> <!-- Major Herb of Life -->
|
||||
<item id="8602" min="1" max="1" chance="35" /> <!-- Superior Herb of Life -->
|
||||
</group>
|
||||
<group chance="11">
|
||||
<item id="8603" min="1" max="1" chance="10" /> <!-- Herb of Mana -->
|
||||
<item id="8604" min="1" max="1" chance="54" /> <!-- Major Herb of Mana -->
|
||||
<item id="8605" min="1" max="1" chance="36" /> <!-- Superior Herb of Mana -->
|
||||
</group>
|
||||
<group chance="25">
|
||||
<item id="8606" min="1" max="1" chance="20" /> <!-- Herb of Power -->
|
||||
<item id="8608" min="1" max="1" chance="20" /> <!-- Haste Herb -->
|
||||
<item id="8610" min="1" max="1" chance="20" /> <!-- Herb of Critical Attack - Probability -->
|
||||
<item id="10655" min="1" max="1" chance="20" /> <!-- Herb of HP Drain -->
|
||||
<item id="10656" min="1" max="1" chance="20" /> <!-- Herb of Critical Attack - Power -->
|
||||
</group>
|
||||
<group chance="10">
|
||||
<item id="8607" min="1" max="1" chance="50" /> <!-- Herb of Magic -->
|
||||
<item id="8609" min="1" max="1" chance="50" /> <!-- Herb of Casting Spd. -->
|
||||
</group>
|
||||
<group chance="1">
|
||||
<item id="8612" min="1" max="1" chance="33" /> <!-- Herb of the Warrior -->
|
||||
<item id="8613" min="1" max="1" chance="33" /> <!-- Wizard Herb -->
|
||||
<item id="8614" min="1" max="1" chance="34" /> <!-- Herb of Recovery -->
|
||||
</group>
|
||||
<group chance="11">
|
||||
<item id="8611" min="1" max="1" chance="94" /> <!-- Wind Walk Herb -->
|
||||
<item id="10657" min="1" max="1" chance="6" /> <!-- Mysterious Herb -->
|
||||
</group>
|
||||
</death>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="9" />
|
||||
<height normal="31.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="2083" level="83" type="L2Monster" name="Canabion of Plague" title="Void">
|
||||
<!-- TODO: Must be confirmed -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="160" />
|
||||
<param name="MoveAroundSocial1" value="160" />
|
||||
<param name="MoveAroundSocial2" value="160" />
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="1" />
|
||||
<param name="Skill01_Probablity" value="4500" />
|
||||
<param name="Type" value="2" />
|
||||
<param name="PrivatesNorm" value="2081" />
|
||||
<param name="PrivatesSpA" value="2082" />
|
||||
<param name="PrivatesSpB" value="2083" />
|
||||
<param name="MyMakerName" value="inzone03_2111_80m1" />
|
||||
<param name="SoulShot" value="200" />
|
||||
<param name="SoulShotRate" value="5" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="10" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="Skill01_ID" id="4032" level="8" />
|
||||
<skill name="Buff" id="4340" level="1" />
|
||||
<skill name="Debuff" id="5719" level="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="13020" sp="3" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="3835" mp="1777" hpRegen="8.5" mpRegen="3" />
|
||||
<attack physical="1099.42361669366" magical="750.763809564873" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" critical="4" accuracy="5" />
|
||||
<defence physical="353.86144" magical="258.94045" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="15" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<skill_list>
|
||||
<skill id="4032" level="1" /> <!-- NPC Strike -->
|
||||
<skill id="4340" level="1" /> <!-- Ultimate Buff, 2nd -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
<skill id="5565" level="1" /> <!-- Expose Weak Point -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
</skill_list>
|
||||
<ai clanHelpRange="300" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>RIM</clan>
|
||||
<ignore_npc_id>2081</ignore_npc_id>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="42">
|
||||
<item id="8600" min="1" max="1" chance="20" /> <!-- Herb of Life -->
|
||||
<item id="8601" min="1" max="1" chance="45" /> <!-- Major Herb of Life -->
|
||||
<item id="8602" min="1" max="1" chance="35" /> <!-- Superior Herb of Life -->
|
||||
</group>
|
||||
<group chance="11">
|
||||
<item id="8603" min="1" max="1" chance="10" /> <!-- Herb of Mana -->
|
||||
<item id="8604" min="1" max="1" chance="54" /> <!-- Major Herb of Mana -->
|
||||
<item id="8605" min="1" max="1" chance="36" /> <!-- Superior Herb of Mana -->
|
||||
</group>
|
||||
<group chance="25">
|
||||
<item id="8606" min="1" max="1" chance="20" /> <!-- Herb of Power -->
|
||||
<item id="8608" min="1" max="1" chance="20" /> <!-- Haste Herb -->
|
||||
<item id="8610" min="1" max="1" chance="20" /> <!-- Herb of Critical Attack - Probability -->
|
||||
<item id="10655" min="1" max="1" chance="20" /> <!-- Herb of HP Drain -->
|
||||
<item id="10656" min="1" max="1" chance="20" /> <!-- Herb of Critical Attack - Power -->
|
||||
</group>
|
||||
<group chance="10">
|
||||
<item id="8607" min="1" max="1" chance="50" /> <!-- Herb of Magic -->
|
||||
<item id="8609" min="1" max="1" chance="50" /> <!-- Herb of Casting Spd. -->
|
||||
</group>
|
||||
<group chance="1">
|
||||
<item id="8612" min="1" max="1" chance="33" /> <!-- Herb of the Warrior -->
|
||||
<item id="8613" min="1" max="1" chance="33" /> <!-- Wizard Herb -->
|
||||
<item id="8614" min="1" max="1" chance="34" /> <!-- Herb of Recovery -->
|
||||
</group>
|
||||
<group chance="11">
|
||||
<item id="8611" min="1" max="1" chance="94" /> <!-- Wind Walk Herb -->
|
||||
<item id="10657" min="1" max="1" chance="6" /> <!-- Mysterious Herb -->
|
||||
</group>
|
||||
</death>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="35" />
|
||||
</collision>
|
||||
</npc>
|
||||
</list>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="2081" level="82" type="L2Monster" name="Canabion of Plague">
|
||||
<!-- TODO: Must be confirmed -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="100" />
|
||||
<param name="MoveAroundSocial1" value="100" />
|
||||
<param name="MoveAroundSocial2" value="100" />
|
||||
<param name="Skill01_Probablity" value="2000" />
|
||||
<param name="Type" value="0" />
|
||||
<param name="PrivatesNorm" value="2081" />
|
||||
<param name="PrivatesSpA" value="2082" />
|
||||
<param name="PrivatesSpB" value="2083" />
|
||||
<param name="MyMakerName" value="inzone03_2111_80m1" />
|
||||
<param name="SoulShot" value="200" />
|
||||
<param name="SoulShotRate" value="5" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="10" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="Skill01_ID" id="4032" level="8" />
|
||||
<skill name="Debuff" id="5719" level="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="12707" sp="3" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="3643" mp="1743" hpRegen="8.5" mpRegen="3" />
|
||||
<attack physical="1055.28566004965" magical="720.623302603812" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" critical="4" accuracy="5" />
|
||||
<defence physical="349.77477" magical="255.95" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="8" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<skill_list>
|
||||
<skill id="4032" level="1" /> <!-- NPC Strike -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
<skill id="5565" level="1" /> <!-- Expose Weak Point -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
</skill_list>
|
||||
<ai clanHelpRange="200" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>RIM</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="8600" min="1" max="1" chance="8.4" /> <!-- Herb of Life -->
|
||||
<item id="8601" min="1" max="1" chance="18.9" /> <!-- Major Herb of Life -->
|
||||
<item id="8602" min="1" max="1" chance="14.7" /> <!-- Superior Herb of Life -->
|
||||
<item id="8603" min="1" max="1" chance="1.1" /> <!-- Herb of Mana -->
|
||||
<item id="8604" min="1" max="1" chance="5.94" /> <!-- Major Herb of Mana -->
|
||||
<item id="8605" min="1" max="1" chance="3.96" /> <!-- Superior Herb of Mana -->
|
||||
<item id="8606" min="1" max="1" chance="5" /> <!-- Herb of Power -->
|
||||
<item id="8608" min="1" max="1" chance="5" /> <!-- Haste Herb -->
|
||||
<item id="8610" min="1" max="1" chance="5" /> <!-- Herb of Critical Attack - Probability -->
|
||||
<item id="10655" min="1" max="1" chance="5" /> <!-- Herb of HP Drain -->
|
||||
<item id="10656" min="1" max="1" chance="5" /> <!-- Herb of Critical Attack - Power -->
|
||||
<item id="8607" min="1" max="1" chance="5" /> <!-- Herb of Magic -->
|
||||
<item id="8609" min="1" max="1" chance="5" /> <!-- Herb of Casting Spd. -->
|
||||
<item id="8612" min="1" max="1" chance="0.33" /> <!-- Herb of the Warrior -->
|
||||
<item id="8613" min="1" max="1" chance="0.33" /> <!-- Wizard Herb -->
|
||||
<item id="8614" min="1" max="1" chance="0.34" /> <!-- Herb of Recovery -->
|
||||
<item id="8611" min="1" max="1" chance="10.34" /> <!-- Wind Walk Herb -->
|
||||
<item id="10657" min="1" max="1" chance="0.66" /> <!-- Mysterious Herb -->
|
||||
</drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="9" />
|
||||
<height normal="29" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="2082" level="82" type="L2Monster" name="Canabion of Plague" title="Doppler">
|
||||
<!-- TODO: Must be confirmed -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="160" />
|
||||
<param name="MoveAroundSocial1" value="160" />
|
||||
<param name="MoveAroundSocial2" value="160" />
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="1" />
|
||||
<param name="Skill01_Probablity" value="3500" />
|
||||
<param name="Type" value="1" />
|
||||
<param name="PrivatesNorm" value="2081" />
|
||||
<param name="PrivatesSpA" value="2082" />
|
||||
<param name="PrivatesSpB" value="2083" />
|
||||
<param name="MyMakerName" value="inzone03_2111_80m1" />
|
||||
<param name="SoulShot" value="200" />
|
||||
<param name="SoulShotRate" value="5" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="10" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="Skill01_ID" id="4032" level="8" />
|
||||
<skill name="Debuff" id="5719" level="1" />
|
||||
</parameters>
|
||||
<race>DEMONIC</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="12707" sp="3" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="3643" mp="1743" hpRegen="8.5" mpRegen="3" />
|
||||
<attack physical="1055.28566004965" magical="720.623302603812" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" critical="4" accuracy="5" />
|
||||
<defence physical="349.77477" magical="255.95" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="10" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<skill_list>
|
||||
<skill id="4032" level="1" /> <!-- NPC Strike -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
<skill id="5565" level="1" /> <!-- Expose Weak Point -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
</skill_list>
|
||||
<ai clanHelpRange="200" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>RIM</clan>
|
||||
<ignore_npc_id>2081</ignore_npc_id>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="8600" min="1" max="1" chance="8.4" /> <!-- Herb of Life -->
|
||||
<item id="8601" min="1" max="1" chance="18.9" /> <!-- Major Herb of Life -->
|
||||
<item id="8602" min="1" max="1" chance="14.7" /> <!-- Superior Herb of Life -->
|
||||
<item id="8603" min="1" max="1" chance="1.1" /> <!-- Herb of Mana -->
|
||||
<item id="8604" min="1" max="1" chance="5.94" /> <!-- Major Herb of Mana -->
|
||||
<item id="8605" min="1" max="1" chance="3.96" /> <!-- Superior Herb of Mana -->
|
||||
<item id="8606" min="1" max="1" chance="5" /> <!-- Herb of Power -->
|
||||
<item id="8608" min="1" max="1" chance="5" /> <!-- Haste Herb -->
|
||||
<item id="8610" min="1" max="1" chance="5" /> <!-- Herb of Critical Attack - Probability -->
|
||||
<item id="10655" min="1" max="1" chance="5" /> <!-- Herb of HP Drain -->
|
||||
<item id="10656" min="1" max="1" chance="5" /> <!-- Herb of Critical Attack - Power -->
|
||||
<item id="8607" min="1" max="1" chance="5" /> <!-- Herb of Magic -->
|
||||
<item id="8609" min="1" max="1" chance="5" /> <!-- Herb of Casting Spd. -->
|
||||
<item id="8612" min="1" max="1" chance="0.33" /> <!-- Herb of the Warrior -->
|
||||
<item id="8613" min="1" max="1" chance="0.33" /> <!-- Wizard Herb -->
|
||||
<item id="8614" min="1" max="1" chance="0.34" /> <!-- Herb of Recovery -->
|
||||
<item id="8611" min="1" max="1" chance="10.34" /> <!-- Wind Walk Herb -->
|
||||
<item id="10657" min="1" max="1" chance="0.66" /> <!-- Mysterious Herb -->
|
||||
</drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="9" />
|
||||
<height normal="31.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="2083" level="83" type="L2Monster" name="Canabion of Plague" title="Void">
|
||||
<!-- TODO: Must be confirmed -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="160" />
|
||||
<param name="MoveAroundSocial1" value="160" />
|
||||
<param name="MoveAroundSocial2" value="160" />
|
||||
<param name="IsAggressive" value="1" />
|
||||
<param name="Aggressive_Time" value="1" />
|
||||
<param name="Skill01_Probablity" value="4500" />
|
||||
<param name="Type" value="2" />
|
||||
<param name="PrivatesNorm" value="2081" />
|
||||
<param name="PrivatesSpA" value="2082" />
|
||||
<param name="PrivatesSpB" value="2083" />
|
||||
<param name="MyMakerName" value="inzone03_2111_80m1" />
|
||||
<param name="SoulShot" value="200" />
|
||||
<param name="SoulShotRate" value="5" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="10" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="Skill01_ID" id="4032" level="8" />
|
||||
<skill name="Buff" id="4340" level="1" />
|
||||
<skill name="Debuff" id="5719" level="1" />
|
||||
</parameters>
|
||||
<race>HUMANOID</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="13020" sp="3" />
|
||||
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
|
||||
<vitals hp="3835" mp="1777" hpRegen="8.5" mpRegen="3" />
|
||||
<attack physical="1099.42361669366" magical="750.763809564873" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" critical="4" accuracy="5" />
|
||||
<defence physical="353.86144" magical="258.94045" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="20" earth="20" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="15" />
|
||||
<run ground="120" />
|
||||
</speed>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<skill_list>
|
||||
<skill id="4032" level="1" /> <!-- NPC Strike -->
|
||||
<skill id="4340" level="1" /> <!-- Ultimate Buff, 2nd -->
|
||||
<skill id="4416" level="9" /> <!-- Demons -->
|
||||
<skill id="5565" level="1" /> <!-- Expose Weak Point -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
</skill_list>
|
||||
<ai clanHelpRange="300" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>RIM</clan>
|
||||
<ignore_npc_id>2081</ignore_npc_id>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="8600" min="1" max="1" chance="8.4" /> <!-- Herb of Life -->
|
||||
<item id="8601" min="1" max="1" chance="18.9" /> <!-- Major Herb of Life -->
|
||||
<item id="8602" min="1" max="1" chance="14.7" /> <!-- Superior Herb of Life -->
|
||||
<item id="8603" min="1" max="1" chance="1.1" /> <!-- Herb of Mana -->
|
||||
<item id="8604" min="1" max="1" chance="5.94" /> <!-- Major Herb of Mana -->
|
||||
<item id="8605" min="1" max="1" chance="3.96" /> <!-- Superior Herb of Mana -->
|
||||
<item id="8606" min="1" max="1" chance="5" /> <!-- Herb of Power -->
|
||||
<item id="8608" min="1" max="1" chance="5" /> <!-- Haste Herb -->
|
||||
<item id="8610" min="1" max="1" chance="5" /> <!-- Herb of Critical Attack - Probability -->
|
||||
<item id="10655" min="1" max="1" chance="5" /> <!-- Herb of HP Drain -->
|
||||
<item id="10656" min="1" max="1" chance="5" /> <!-- Herb of Critical Attack - Power -->
|
||||
<item id="8607" min="1" max="1" chance="5" /> <!-- Herb of Magic -->
|
||||
<item id="8609" min="1" max="1" chance="5" /> <!-- Herb of Casting Spd. -->
|
||||
<item id="8612" min="1" max="1" chance="0.33" /> <!-- Herb of the Warrior -->
|
||||
<item id="8613" min="1" max="1" chance="0.33" /> <!-- Wizard Herb -->
|
||||
<item id="8614" min="1" max="1" chance="0.34" /> <!-- Herb of Recovery -->
|
||||
<item id="8611" min="1" max="1" chance="10.34" /> <!-- Wind Walk Herb -->
|
||||
<item id="10657" min="1" max="1" chance="0.66" /> <!-- Mysterious Herb -->
|
||||
</drop>
|
||||
</drop_lists>
|
||||
<status undying="false" />
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="35" />
|
||||
</collision>
|
||||
</npc>
|
||||
</list>
|
||||
|
||||
@@ -2771,7 +2771,7 @@
|
||||
<height normal="68" />
|
||||
</collision>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<drop>
|
||||
<item id="17404" min="1" max="1" chance="1.074" /> <!-- Seraph Leather Leggings -->
|
||||
<item id="17398" min="1" max="1" chance="1.043" /> <!-- Seraph Gaiters -->
|
||||
<item id="17409" min="1" max="1" chance="0.974" /> <!-- Seraph Stockings -->
|
||||
@@ -2821,7 +2821,7 @@
|
||||
<item id="35438" min="1" max="1" chance="0.3" /> <!-- Recipe: Seraph Leather Armor (60%) -->
|
||||
<item id="35439" min="1" max="1" chance="0.3" /> <!-- Recipe: Seraph Leather Leggings (60%) -->
|
||||
<item id="35430" min="1" max="1" chance="0.3" /> <!-- Recipe: Specter Retributer (60%) -->
|
||||
</death>
|
||||
</drop>
|
||||
</drop_lists>
|
||||
</npc>
|
||||
<npc id="3474" level="95" type="L2Monster" name="Super Kat the Cat">
|
||||
@@ -3003,7 +3003,7 @@
|
||||
<height normal="37.5" />
|
||||
</collision>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<drop>
|
||||
<item id="17308" min="1" max="1" chance="23.3" /> <!-- Immortal Boots -->
|
||||
<item id="17318" min="1" max="1" chance="22.9" /> <!-- Immortal Gloves -->
|
||||
<item id="17304" min="1" max="1" chance="16.58" /> <!-- Immortal Helmet -->
|
||||
@@ -3016,7 +3016,7 @@
|
||||
<item id="17291" min="1" max="1" chance="1.482" /> <!-- Requiem Cutter -->
|
||||
<item id="17527" min="1" max="1" chance="46.38" /> <!-- Scroll: Enchant Armor (R-grade) -->
|
||||
<item id="17526" min="1" max="1" chance="3.604" /> <!-- Scroll: Enchant Weapon (R-grade) -->
|
||||
</death>
|
||||
</drop>
|
||||
</drop_lists>
|
||||
</npc>
|
||||
<npc id="3478" level="87" type="L2Monster" name="Reinforced Kat the Cat">
|
||||
@@ -3112,7 +3112,7 @@
|
||||
<height normal="37.5" />
|
||||
</collision>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<drop>
|
||||
<item id="17343" min="1" max="1" chance="66.6" /> <!-- Twilight Shield -->
|
||||
<item id="17339" min="1" max="1" chance="17.44" /> <!-- Twilight Breastplate -->
|
||||
<item id="17350" min="1" max="1" chance="16.67" /> <!-- Twilight Tunic -->
|
||||
@@ -3120,7 +3120,7 @@
|
||||
<item id="17330" min="1" max="1" chance="0.75" /> <!-- Apocalypse Thrower -->
|
||||
<item id="17527" min="1" max="1" chance="46.65" /> <!-- Scroll: Enchant Armor (R-grade) -->
|
||||
<item id="17526" min="1" max="1" chance="3.631" /> <!-- Scroll: Enchant Weapon (R-grade) -->
|
||||
</death>
|
||||
</drop>
|
||||
</drop_lists>
|
||||
</npc>
|
||||
<npc id="3480" level="91" type="L2Monster" name="Mind-controlling Feline Queen">
|
||||
@@ -3216,13 +3216,13 @@
|
||||
<height normal="37.5" />
|
||||
</collision>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<drop>
|
||||
<item id="17352" min="1" max="1" chance="91.435" /> <!-- Twilight Gloves -->
|
||||
<item id="17347" min="1" max="1" chance="19.86" /> <!-- Twilight Leather Gloves -->
|
||||
<item id="17330" min="1" max="1" chance="7.489" /> <!-- Apocalypse Thrower -->
|
||||
<item id="17334" min="1" max="1" chance="1.587" /> <!-- Apocalypse Retributer -->
|
||||
<item id="17526" min="1" max="1" chance="35.82" /> <!-- Scroll: Enchant Weapon (R-grade) -->
|
||||
</death>
|
||||
</drop>
|
||||
</drop_lists>
|
||||
</npc>
|
||||
<npc id="3482" level="93" type="L2Monster" name="Traitorous Mew the Cat">
|
||||
|
||||
+4731
-4733
File diff suppressed because it is too large
Load Diff
+4791
-4795
File diff suppressed because it is too large
Load Diff
+4025
-4035
File diff suppressed because it is too large
Load Diff
+5022
-5296
File diff suppressed because it is too large
Load Diff
+4765
-5225
File diff suppressed because it is too large
Load Diff
+4118
-4160
File diff suppressed because it is too large
Load Diff
+5005
-5325
File diff suppressed because it is too large
Load Diff
+3993
-4095
File diff suppressed because it is too large
Load Diff
@@ -1876,7 +1876,7 @@
|
||||
</skill_list>
|
||||
<ai aggroRange="300" isAggressive="true" clanHelpRange="300" />
|
||||
<drop_lists>
|
||||
<death>
|
||||
<drop>
|
||||
<item id="17623" min="1" max="1" chance="10.047" /> <!-- Earth Wyrm Heart Ring -->
|
||||
<item id="17422" min="1" max="1" chance="9.133" /> <!-- Helios Thrower -->
|
||||
<item id="17425" min="1" max="1" chance="9.106" /> <!-- Helios Caster -->
|
||||
@@ -1932,11 +1932,11 @@
|
||||
<item id="39484" min="1" max="1" chance="3.339" /> <!-- Alchemic Tome: Life Stone -->
|
||||
<item id="39483" min="1" max="1" chance="3.31" /> <!-- Alchemic Tome: Enchant Scroll -->
|
||||
<item id="39485" min="1" max="1" chance="3.266" /> <!-- Alchemic Tome: Dye -->
|
||||
</death>
|
||||
<lucky_corpse>
|
||||
</drop>
|
||||
<lucky_drop>
|
||||
<item id="39629" min="3" max="3" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
<item id="40198" min="1" max="1" chance="2.518" /> <!-- Disassembly Recipe Pouch: Armor -->
|
||||
</lucky_corpse>
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="500" />
|
||||
|
||||
+3647
-3651
File diff suppressed because it is too large
Load Diff
+3504
-3524
File diff suppressed because it is too large
Load Diff
+2837
-2857
File diff suppressed because it is too large
Load Diff
+1666
-1712
File diff suppressed because it is too large
Load Diff
+4959
-5821
File diff suppressed because it is too large
Load Diff
+2653
-2881
File diff suppressed because it is too large
Load Diff
+5660
-6362
File diff suppressed because it is too large
Load Diff
+3254
-3664
File diff suppressed because it is too large
Load Diff
+3494
-3978
File diff suppressed because it is too large
Load Diff
+5715
-6687
File diff suppressed because it is too large
Load Diff
+5346
-6148
File diff suppressed because it is too large
Load Diff
+3963
-4471
File diff suppressed because it is too large
Load Diff
+4107
-4315
File diff suppressed because it is too large
Load Diff
+4717
-5309
File diff suppressed because it is too large
Load Diff
+5146
-5772
File diff suppressed because it is too large
Load Diff
+7923
-8815
File diff suppressed because it is too large
Load Diff
+7244
-7936
File diff suppressed because it is too large
Load Diff
+7502
-8368
File diff suppressed because it is too large
Load Diff
+341
-361
@@ -1,361 +1,341 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="21438" level="65" type="L2Monster" name="Heathen Warrior">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="80" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="946" lhand="945" /> <!-- Skeleton Dagger / Skeleton Buckler -->
|
||||
<acquire exp="2684" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2193.43142" hpRegen="7.5" mp="1188.8" mpRegen="2.7" />
|
||||
<attack physical="582.81759" magical="397.98887" random="5" critical="8" accuracy="0" attackSpeed="253" type="DAGGER" range="40" distance="80" width="120" />
|
||||
<defence physical="271.89033" magical="198.95754" shield="136" shieldRate="20" />
|
||||
<speed>
|
||||
<walk ground="80" />
|
||||
<run ground="175" />
|
||||
</speed>
|
||||
<hit_time>520</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4032" level="6" /> <!-- NPC Strike -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="2" /> <!-- Standard Type -->
|
||||
<skill id="4415" level="7" /> <!-- Daggers -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="70">
|
||||
<item id="57" min="10" max="24" chance="100" /> <!-- Adena -->
|
||||
</group>
|
||||
<group chance="0.003">
|
||||
<item id="729" min="1" max="1" chance="100" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</group>
|
||||
</death>
|
||||
<corpse>
|
||||
<item id="729" min="1" max="1" chance="0.003" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</corpse>
|
||||
<lucky_corpse>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_corpse>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="11" />
|
||||
<height normal="28.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21439" level="66" type="L2Monster" name="Heathen Inmate">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="130" />
|
||||
<param name="MoveAroundSocial1" value="130" />
|
||||
<param name="MoveAroundSocial2" value="130" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4073" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="2768" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2244.67715" hpRegen="7.5" mp="1219.8" mpRegen="2.7" />
|
||||
<attack physical="603.79903" magical="412.31647" random="10" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="276.72752" magical="202.49719" />
|
||||
<speed>
|
||||
<walk ground="15" />
|
||||
<run ground="175" />
|
||||
</speed>
|
||||
<hit_time>450</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4073" level="6" /> <!-- Stun -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="3" /> <!-- Light Armor Type -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="70">
|
||||
<item id="57" min="11" max="25" chance="100" /> <!-- Adena -->
|
||||
</group>
|
||||
<group chance="0.03">
|
||||
<item id="730" min="1" max="1" chance="100" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</group>
|
||||
</death>
|
||||
<corpse>
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</corpse>
|
||||
<lucky_corpse>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_corpse>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="30" grown="15.5" />
|
||||
<height normal="40" grown="48.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21440" level="67" type="L2Monster" name="Heathen Archer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="157" />
|
||||
<param name="MoveAroundSocial1" value="157" />
|
||||
<param name="MoveAroundSocial2" value="157" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4040" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="284" /> <!-- Dark Elven Longbow -->
|
||||
<acquire exp="3029" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2295.48154" hpRegen="7.5" mp="1251.0" mpRegen="2.7" />
|
||||
<attack physical="624.93199" magical="426.74754" random="5" critical="8" accuracy="0" attackSpeed="253" reuseDelay="1500" type="BOW" range="1100" distance="10" width="0" />
|
||||
<defence physical="281.55251" magical="206.02791" />
|
||||
<speed>
|
||||
<walk ground="40" />
|
||||
<run ground="155" />
|
||||
</speed>
|
||||
<hit_time>800</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4040" level="6" /> <!-- NPC Bow Attack -->
|
||||
<skill id="4071" level="3" /> <!-- Resist Bow/Crossbow Weapons -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="3" /> <!-- Light Armor Type -->
|
||||
<skill id="4415" level="9" /> <!-- Bows -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai type="ARCHER" clanHelpRange="300" dodge="15" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="70">
|
||||
<item id="57" min="11" max="27" chance="100" /> <!-- Adena -->
|
||||
</group>
|
||||
<group chance="0.03">
|
||||
<item id="730" min="1" max="1" chance="100" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</group>
|
||||
</death>
|
||||
<corpse>
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</corpse>
|
||||
<lucky_corpse>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_corpse>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="11" />
|
||||
<height normal="27" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21441" level="68" type="L2Monster" name="Heathen Soldier">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4072" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="96" /> <!-- Scythe -->
|
||||
<acquire exp="2937" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2345.76698" hpRegen="7.5" mp="1282.4" mpRegen="2.7" />
|
||||
<attack physical="646.17968" magical="441.25696" random="10" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="286.3615" magical="209.54692" />
|
||||
<speed>
|
||||
<walk ground="50" />
|
||||
<run ground="170" />
|
||||
</speed>
|
||||
<hit_time>210</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4072" level="6" /> <!-- Stun -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="2" /> <!-- Standard Type -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="70">
|
||||
<item id="57" min="11" max="26" chance="100" /> <!-- Adena -->
|
||||
</group>
|
||||
<group chance="0.003">
|
||||
<item id="729" min="1" max="1" chance="100" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</group>
|
||||
</death>
|
||||
<corpse>
|
||||
<item id="729" min="1" max="1" chance="0.003" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</corpse>
|
||||
<lucky_corpse>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_corpse>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="10" grown="12" />
|
||||
<height normal="28" grown="33" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21442" level="69" type="L2Monster" name="Heathen Knight">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="215" />
|
||||
<param name="MoveAroundSocial1" value="215" />
|
||||
<param name="MoveAroundSocial2" value="215" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4232" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="150" lhand="103" /> <!-- Elemental Sword / Tower Shield -->
|
||||
<acquire exp="3024" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2395.45533" hpRegen="7.5" mp="1314.0" mpRegen="2.7" />
|
||||
<attack physical="667.50361" magical="455.81844" random="10" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="291.15063" magical="213.05139" shield="146" shieldRate="20" />
|
||||
<speed>
|
||||
<walk ground="40" />
|
||||
<run ground="165" />
|
||||
</speed>
|
||||
<hit_time>170</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4232" level="6" /> <!-- NPC AE Strike -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="2" /> <!-- Standard Type -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="70">
|
||||
<item id="57" min="12" max="27" chance="100" /> <!-- Adena -->
|
||||
</group>
|
||||
<group chance="0.03">
|
||||
<item id="730" min="1" max="1" chance="100" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</group>
|
||||
</death>
|
||||
<corpse>
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</corpse>
|
||||
<lucky_corpse>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_corpse>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="25" />
|
||||
</collision>
|
||||
</npc>
|
||||
</list>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="21438" level="65" type="L2Monster" name="Heathen Warrior">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="80" />
|
||||
<param name="MoveAroundSocial1" value="80" />
|
||||
<param name="MoveAroundSocial2" value="80" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4032" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="946" lhand="945" /> <!-- Skeleton Dagger / Skeleton Buckler -->
|
||||
<acquire exp="2684" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2193.43142" hpRegen="7.5" mp="1188.8" mpRegen="2.7" />
|
||||
<attack physical="582.81759" magical="397.98887" random="5" critical="8" accuracy="0" attackSpeed="253" type="DAGGER" range="40" distance="80" width="120" />
|
||||
<defence physical="271.89033" magical="198.95754" shield="136" shieldRate="20" />
|
||||
<speed>
|
||||
<walk ground="80" />
|
||||
<run ground="175" />
|
||||
</speed>
|
||||
<hit_time>520</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4032" level="6" /> <!-- NPC Strike -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="2" /> <!-- Standard Type -->
|
||||
<skill id="4415" level="7" /> <!-- Daggers -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="10" max="24" chance="70" /> <!-- Adena -->
|
||||
<item id="729" min="1" max="1" chance="0.003" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</drop>
|
||||
<spoil>
|
||||
<item id="729" min="1" max="1" chance="0.003" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</spoil>
|
||||
<lucky_drop>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="11" />
|
||||
<height normal="28.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21439" level="66" type="L2Monster" name="Heathen Inmate">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="130" />
|
||||
<param name="MoveAroundSocial1" value="130" />
|
||||
<param name="MoveAroundSocial2" value="130" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4073" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<acquire exp="2768" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2244.67715" hpRegen="7.5" mp="1219.8" mpRegen="2.7" />
|
||||
<attack physical="603.79903" magical="412.31647" random="10" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="276.72752" magical="202.49719" />
|
||||
<speed>
|
||||
<walk ground="15" />
|
||||
<run ground="175" />
|
||||
</speed>
|
||||
<hit_time>450</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4073" level="6" /> <!-- Stun -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="3" /> <!-- Light Armor Type -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="11" max="25" chance="70" /> <!-- Adena -->
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</drop>
|
||||
<spoil>
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</spoil>
|
||||
<lucky_drop>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="30" grown="15.5" />
|
||||
<height normal="40" grown="48.5" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21440" level="67" type="L2Monster" name="Heathen Archer">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="157" />
|
||||
<param name="MoveAroundSocial1" value="157" />
|
||||
<param name="MoveAroundSocial2" value="157" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4040" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="284" /> <!-- Dark Elven Longbow -->
|
||||
<acquire exp="3029" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2295.48154" hpRegen="7.5" mp="1251.0" mpRegen="2.7" />
|
||||
<attack physical="624.93199" magical="426.74754" random="5" critical="8" accuracy="0" attackSpeed="253" reuseDelay="1500" type="BOW" range="1100" distance="10" width="0" />
|
||||
<defence physical="281.55251" magical="206.02791" />
|
||||
<speed>
|
||||
<walk ground="40" />
|
||||
<run ground="155" />
|
||||
</speed>
|
||||
<hit_time>800</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4040" level="6" /> <!-- NPC Bow Attack -->
|
||||
<skill id="4071" level="3" /> <!-- Resist Bow/Crossbow Weapons -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="3" /> <!-- Light Armor Type -->
|
||||
<skill id="4415" level="9" /> <!-- Bows -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai type="ARCHER" clanHelpRange="300" dodge="15" aggroRange="300">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="11" max="27" chance="70" /> <!-- Adena -->
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</drop>
|
||||
<spoil>
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</spoil>
|
||||
<lucky_drop>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="11" />
|
||||
<height normal="27" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21441" level="68" type="L2Monster" name="Heathen Soldier">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4072" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="96" /> <!-- Scythe -->
|
||||
<acquire exp="2937" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2345.76698" hpRegen="7.5" mp="1282.4" mpRegen="2.7" />
|
||||
<attack physical="646.17968" magical="441.25696" random="10" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="286.3615" magical="209.54692" />
|
||||
<speed>
|
||||
<walk ground="50" />
|
||||
<run ground="170" />
|
||||
</speed>
|
||||
<hit_time>210</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4072" level="6" /> <!-- Stun -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="2" /> <!-- Standard Type -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="11" max="26" chance="70" /> <!-- Adena -->
|
||||
<item id="729" min="1" max="1" chance="0.003" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</drop>
|
||||
<spoil>
|
||||
<item id="729" min="1" max="1" chance="0.003" /> <!-- Scroll: Enchant Weapon (A-grade) -->
|
||||
</spoil>
|
||||
<lucky_drop>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="10" grown="12" />
|
||||
<height normal="28" grown="33" />
|
||||
</collision>
|
||||
</npc>
|
||||
<npc id="21442" level="69" type="L2Monster" name="Heathen Knight">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="215" />
|
||||
<param name="MoveAroundSocial1" value="215" />
|
||||
<param name="MoveAroundSocial2" value="215" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="30" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="PhysicalSpecial" id="4232" level="6" />
|
||||
</parameters>
|
||||
<race>UNDEAD</race>
|
||||
<sex>MALE</sex>
|
||||
<equipment rhand="150" lhand="103" /> <!-- Elemental Sword / Tower Shield -->
|
||||
<acquire exp="3024" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="2395.45533" hpRegen="7.5" mp="1314.0" mpRegen="2.7" />
|
||||
<attack physical="667.50361" magical="455.81844" random="10" critical="4" accuracy="5" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
|
||||
<defence physical="291.15063" magical="213.05139" shield="146" shieldRate="20" />
|
||||
<speed>
|
||||
<walk ground="40" />
|
||||
<run ground="165" />
|
||||
</speed>
|
||||
<hit_time>170</hit_time>
|
||||
<abnormalResist physical="10" magical="10" />
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4232" level="6" /> <!-- NPC AE Strike -->
|
||||
<skill id="4274" level="1" /> <!-- Blunt Weapon Weak Point -->
|
||||
<skill id="4408" level="8" /> <!-- HP Increase (1/4x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="13" /> <!-- Slightly Strong P. Atk. -->
|
||||
<skill id="4411" level="13" /> <!-- Slightly Strong M. Atk. -->
|
||||
<skill id="4412" level="9" /> <!-- Slightly Weak P. Def. -->
|
||||
<skill id="4413" level="9" /> <!-- Slightly Weak M. Def. -->
|
||||
<skill id="4414" level="2" /> <!-- Standard Type -->
|
||||
<skill id="4415" level="3" /> <!-- One-handed Sword -->
|
||||
<skill id="4416" level="1" /> <!-- Undead -->
|
||||
<skill id="4278" level="1" /> <!-- Dark Attack -->
|
||||
<skill id="4279" level="1" /> <!-- Fire Vulnerability -->
|
||||
<skill id="4275" level="2" /> <!-- Holy Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.25</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="true">
|
||||
<clan_list>
|
||||
<clan>UNDEAD</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="12" max="27" chance="70" /> <!-- Adena -->
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</drop>
|
||||
<spoil>
|
||||
<item id="730" min="1" max="1" chance="0.03" /> <!-- Scroll: Enchant Armor (A-grade) -->
|
||||
</spoil>
|
||||
<lucky_drop>
|
||||
<item id="39629" min="1" max="1" chance="100" /> <!-- Fortune Pocket - Stage 1 -->
|
||||
</lucky_drop>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="10" />
|
||||
<height normal="25" />
|
||||
</collision>
|
||||
</npc>
|
||||
</list>
|
||||
|
||||
+7356
-8506
File diff suppressed because it is too large
Load Diff
+3759
-3999
File diff suppressed because it is too large
Load Diff
@@ -1,91 +1,85 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="21797" level="55" type="L2Monster" name="Timiniel's Spirit">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="DDMagic" id="4562" level="5" /> <!-- NPC Solar Flare -->
|
||||
</parameters>
|
||||
<race>FAIRY</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="3562" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1673.05473" hpRegen="6.5" mp="889.8" mpRegen="2.4" />
|
||||
<attack physical="388.11142" magical="265.02979" random="50" critical="1" accuracy="9" attackSpeed="253" type="BLUNT" range="40" distance="80" width="120" />
|
||||
<defence physical="223.6362" magical="148.899508363765" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="189" earth="-5" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="80" />
|
||||
<run ground="165" />
|
||||
</speed>
|
||||
<hit_time>720</hit_time>
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4408" level="9" /> <!-- HP Increase (1/2x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="9" /> <!-- Slightly Weak P. Atk. -->
|
||||
<skill id="4411" level="9" /> <!-- Slightly Weak M. Atk. -->
|
||||
<skill id="4412" level="13" /> <!-- Slightly Strong P. Def. -->
|
||||
<skill id="4413" level="13" /> <!-- Slightly Strong M. Def. -->
|
||||
<skill id="4414" level="3" /> <!-- Light Armor Type -->
|
||||
<skill id="4415" level="5" /> <!-- Blunt Weapons -->
|
||||
<skill id="4416" level="13" /> <!-- Fairies -->
|
||||
<skill id="4562" level="5" /> <!-- NPC Solar Flare -->
|
||||
<skill id="4011" level="5" /> <!-- Wind Resistance -->
|
||||
<skill id="4282" level="1" /> <!-- Earth Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.5</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="false">
|
||||
<clan_list>
|
||||
<clan>TIMINIEL</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<death>
|
||||
<group chance="70">
|
||||
<item id="57" min="315" max="643" chance="100" /> <!-- Adena -->
|
||||
</group>
|
||||
<group chance="0.6668000221252441">
|
||||
<item id="2497" min="1" max="1" chance="0.7653" /> <!-- Full Plate Shield -->
|
||||
<item id="2966" min="1" max="1" chance="60.4723" /> <!-- Full Plate Shield Fragment -->
|
||||
<item id="2414" min="1" max="1" chance="0.5357" /> <!-- Full Plate Helmet -->
|
||||
<item id="2959" min="1" max="1" chance="38.2267" /> <!-- Full Plate Helmet Design -->
|
||||
</group>
|
||||
<group chance="15.31820011138916">
|
||||
<item id="1869" min="1" max="1" chance="17.4926" /> <!-- Iron Ore -->
|
||||
<item id="1870" min="1" max="1" chance="17.4926" /> <!-- Coal -->
|
||||
<item id="1871" min="1" max="1" chance="17.4926" /> <!-- Charcoal -->
|
||||
<item id="1872" min="1" max="1" chance="23.3234" /> <!-- Animal Bone -->
|
||||
<item id="1867" min="1" max="1" chance="23.3234" /> <!-- Animal Skin -->
|
||||
<item id="4175" min="1" max="1" chance="0.337" /> <!-- Recipe: Sealed Avadon Boots (100%) -->
|
||||
<item id="4972" min="1" max="1" chance="0.0202" /> <!-- Recipe: Great Axe (60%) -->
|
||||
<item id="8726" min="1" max="1" chance="0.4049" /> <!-- Life Stone - Level 55 -->
|
||||
<item id="8736" min="1" max="1" chance="0.1012" /> <!-- Mid-Grade Life Stone - Level 55 -->
|
||||
<item id="8746" min="1" max="1" chance="0.0101" /> <!-- High-Grade Life Stone - Level 55 -->
|
||||
<item id="8756" min="1" max="1" chance="0.002" /> <!-- Top-Grade Life Stone - Level 55 -->
|
||||
</group>
|
||||
</death>
|
||||
<corpse>
|
||||
<item id="2961" min="1" max="1" chance="4.3468" /> <!-- Full Plate Boots Part -->
|
||||
<item id="1867" min="1" max="3" chance="53.219" /> <!-- Animal Skin -->
|
||||
<item id="1869" min="1" max="1" chance="79.8286" /> <!-- Iron Ore -->
|
||||
</corpse>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="5" />
|
||||
<height normal="25" />
|
||||
</collision>
|
||||
</npc>
|
||||
</list>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
|
||||
<npc id="21797" level="55" type="L2Monster" name="Timiniel's Spirit">
|
||||
<!-- Confirmed CT2.5 -->
|
||||
<parameters>
|
||||
<param name="MoveAroundSocial" value="0" />
|
||||
<param name="MoveAroundSocial1" value="0" />
|
||||
<param name="MoveAroundSocial2" value="0" />
|
||||
<param name="SoulShot" value="100" />
|
||||
<param name="SoulShotRate" value="10" />
|
||||
<param name="SpiritShot" value="100" />
|
||||
<param name="SpiritShotRate" value="5" />
|
||||
<param name="LongRangeGuardRate" value="5" />
|
||||
<skill name="DDMagic" id="4562" level="5" /> <!-- NPC Solar Flare -->
|
||||
</parameters>
|
||||
<race>FAIRY</race>
|
||||
<sex>FEMALE</sex>
|
||||
<acquire exp="3562" sp="1" />
|
||||
<stats str="79" int="34" dex="42" wit="66" con="75" men="12">
|
||||
<vitals hp="1673.05473" hpRegen="6.5" mp="889.8" mpRegen="2.4" />
|
||||
<attack physical="388.11142" magical="265.02979" random="50" critical="1" accuracy="9" attackSpeed="253" type="BLUNT" range="40" distance="80" width="120" />
|
||||
<defence physical="223.6362" magical="148.899508363765" />
|
||||
<attribute>
|
||||
<defence fire="20" water="20" wind="189" earth="-5" holy="20" dark="20" />
|
||||
</attribute>
|
||||
<speed>
|
||||
<walk ground="80" />
|
||||
<run ground="165" />
|
||||
</speed>
|
||||
<hit_time>720</hit_time>
|
||||
</stats>
|
||||
<status undying="false" canBeSown="true" />
|
||||
<skill_list>
|
||||
<skill id="4408" level="9" /> <!-- HP Increase (1/2x) -->
|
||||
<skill id="4409" level="1" /> <!-- MP Increase (1x) -->
|
||||
<skill id="4410" level="9" /> <!-- Slightly Weak P. Atk. -->
|
||||
<skill id="4411" level="9" /> <!-- Slightly Weak M. Atk. -->
|
||||
<skill id="4412" level="13" /> <!-- Slightly Strong P. Def. -->
|
||||
<skill id="4413" level="13" /> <!-- Slightly Strong M. Def. -->
|
||||
<skill id="4414" level="3" /> <!-- Light Armor Type -->
|
||||
<skill id="4415" level="5" /> <!-- Blunt Weapons -->
|
||||
<skill id="4416" level="13" /> <!-- Fairies -->
|
||||
<skill id="4562" level="5" /> <!-- NPC Solar Flare -->
|
||||
<skill id="4011" level="5" /> <!-- Wind Resistance -->
|
||||
<skill id="4282" level="1" /> <!-- Earth Attack Vulnerability -->
|
||||
</skill_list>
|
||||
<shots shotChance="30" spiritChance="30" />
|
||||
<ex_crt_effect>false</ex_crt_effect>
|
||||
<s_npc_prop_hp_rate>0.5</s_npc_prop_hp_rate>
|
||||
<ai aggroRange="300" clanHelpRange="300" isAggressive="false">
|
||||
<clan_list>
|
||||
<clan>TIMINIEL</clan>
|
||||
</clan_list>
|
||||
</ai>
|
||||
<drop_lists>
|
||||
<drop>
|
||||
<item id="57" min="315" max="643" chance="70" /> <!-- Adena -->
|
||||
<item id="2497" min="1" max="1" chance="0.00510302056932449" /> <!-- Full Plate Shield -->
|
||||
<item id="2966" min="1" max="1" chance="0.403229309779644" /> <!-- Full Plate Shield Fragment -->
|
||||
<item id="2414" min="1" max="1" chance="0.00357204771852493" /> <!-- Full Plate Helmet -->
|
||||
<item id="2959" min="1" max="1" chance="0.254895644057751" /> <!-- Full Plate Helmet Design -->
|
||||
<item id="1869" min="1" max="1" chance="2.67955147268486" /> <!-- Iron Ore -->
|
||||
<item id="1870" min="1" max="1" chance="2.67955147268486" /> <!-- Coal -->
|
||||
<item id="1871" min="1" max="1" chance="2.67955147268486" /> <!-- Charcoal -->
|
||||
<item id="1872" min="1" max="1" chance="3.57272508477974" /> <!-- Animal Bone -->
|
||||
<item id="1867" min="1" max="1" chance="3.57272508477974" /> <!-- Animal Skin -->
|
||||
<item id="4175" min="1" max="1" chance="0.0516223343753815" /> <!-- Recipe: Sealed Avadon Boots (100%) -->
|
||||
<item id="4972" min="1" max="1" chance="0.00309427642250061" /> <!-- Recipe: Great Axe (60%) -->
|
||||
<item id="8726" min="1" max="1" chance="0.0620233922510147" /> <!-- Life Stone - Level 55 -->
|
||||
<item id="8736" min="1" max="1" chance="0.0155020185127258" /> <!-- Mid-Grade Life Stone - Level 55 -->
|
||||
<item id="8746" min="1" max="1" chance="0.00154713821125031" /> <!-- High-Grade Life Stone - Level 55 -->
|
||||
<item id="8756" min="1" max="1" chance="0.000306364002227783" /> <!-- Top-Grade Life Stone - Level 55 -->
|
||||
</drop>
|
||||
<spoil>
|
||||
<item id="2961" min="1" max="1" chance="4.3468" /> <!-- Full Plate Boots Part -->
|
||||
<item id="1867" min="1" max="3" chance="53.219" /> <!-- Animal Skin -->
|
||||
<item id="1869" min="1" max="1" chance="79.8286" /> <!-- Iron Ore -->
|
||||
</spoil>
|
||||
</drop_lists>
|
||||
<collision>
|
||||
<radius normal="5" />
|
||||
<height normal="25" />
|
||||
</collision>
|
||||
</npc>
|
||||
</list>
|
||||
|
||||
+1381
-1513
File diff suppressed because it is too large
Load Diff
+4847
-5363
File diff suppressed because it is too large
Load Diff
+6182
-6326
File diff suppressed because it is too large
Load Diff
+6552
-7362
File diff suppressed because it is too large
Load Diff
+1469
-1577
File diff suppressed because it is too large
Load Diff
+4120
-4516
File diff suppressed because it is too large
Load Diff
+7278
-7992
File diff suppressed because it is too large
Load Diff
+7453
-8177
File diff suppressed because it is too large
Load Diff
+5267
-6071
File diff suppressed because it is too large
Load Diff
+5990
-6642
File diff suppressed because it is too large
Load Diff
+4675
-5097
File diff suppressed because it is too large
Load Diff
+6320
-7246
File diff suppressed because it is too large
Load Diff
+6692
-7346
File diff suppressed because it is too large
Load Diff
+4026
-4418
File diff suppressed because it is too large
Load Diff
+4179
-4477
File diff suppressed because it is too large
Load Diff
+4810
-5008
File diff suppressed because it is too large
Load Diff
+4709
-4907
File diff suppressed because it is too large
Load Diff
+4540
-4696
File diff suppressed because it is too large
Load Diff
+4695
-4861
File diff suppressed because it is too large
Load Diff
+4782
-4940
File diff suppressed because it is too large
Load Diff
+4866
-4930
File diff suppressed because it is too large
Load Diff
+6115
-6247
File diff suppressed because it is too large
Load Diff
+5979
-6125
File diff suppressed because it is too large
Load Diff
+4806
-4958
File diff suppressed because it is too large
Load Diff
+5674
-5994
File diff suppressed because it is too large
Load Diff
+5805
-6189
File diff suppressed because it is too large
Load Diff
+3982
-4022
File diff suppressed because it is too large
Load Diff
+1148
-1164
File diff suppressed because it is too large
Load Diff
+5103
-5173
File diff suppressed because it is too large
Load Diff
+4560
-4640
File diff suppressed because it is too large
Load Diff
+2730
-2774
File diff suppressed because it is too large
Load Diff
+3
-11
@@ -9,14 +9,6 @@
|
||||
<xs:complexType name="drop_list">
|
||||
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
||||
<xs:element name="item" type="drop_list_item" />
|
||||
<xs:element name="group">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="item" type="drop_list_item" minOccurs="1" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="chance" type="xs:decimal" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:element name="list">
|
||||
@@ -267,9 +259,9 @@
|
||||
<xs:element name="drop_lists" minOccurs="0" maxOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:all>
|
||||
<xs:element name="death" type="drop_list" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element name="corpse" type="drop_list" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element name="lucky_corpse" type="drop_list" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element name="drop" type="drop_list" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element name="spoil" type="drop_list" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element name="lucky_drop" type="drop_list" minOccurs="0" maxOccurs="1" />
|
||||
</xs:all>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
Reference in New Issue
Block a user