Sync with L2jOrg and various adjustments.

This commit is contained in:
MobiusDevelopment
2019-10-10 09:57:48 +00:00
parent 0b9d2b8173
commit 8e6f33bc41
349 changed files with 31442 additions and 25115 deletions

View File

@@ -3,8 +3,8 @@ We are the <font color="LEVEL">Dimensional Merchants</font>. Get your Dimensiona
Oh, we are also upgrading products from the past L2Store, so exchange them as well.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalMerchant getDimensonalItem">"I want a Dimensional Item."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalMerchant 32478-01.html">"I want to exchange a Minion Coupon or Rose Spirit Coupon Pack for a Minion pet."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_package_deposit" msg="1040"><font color="LEVEL">"I want to transfer a Dimensional Item to another character on the same account."</font></Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_package_withdraw"><font color="LEVEL">"I want to withdraw a transferred Dimensional Item."</font></Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalMerchant package_deposit" msg="1040"><font color="LEVEL">"I want to transfer a Dimensional Item to another character on the same account."</font></Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalMerchant package_withdraw"><font color="LEVEL">"I want to withdraw a transferred Dimensional Item."</font></Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalMerchant 32478-20.html">"I want to exchange a Vitality item or XP Buff."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalMerchant 32478-21.html">"I want to know about the Power Shirt."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest DimensionalMerchant 32478-22.html">"I have an Exchange Coupon."</Button>

View File

@@ -22,15 +22,23 @@ import org.l2jmobius.gameserver.handler.IItemHandler;
import org.l2jmobius.gameserver.handler.ItemHandler;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.events.EventType;
import org.l2jmobius.gameserver.model.events.ListenerRegisterType;
import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent;
import org.l2jmobius.gameserver.model.events.annotations.RegisterType;
import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerBypass;
import org.l2jmobius.gameserver.model.itemcontainer.PlayerFreight;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.ExGetPremiumItemList;
import org.l2jmobius.gameserver.network.serverpackets.PackageToList;
import org.l2jmobius.gameserver.network.serverpackets.WareHouseWithdrawalList;
import ai.AbstractNpcAI;
/**
* Dimensional Merchant AI.
* @author St3eT
* @author St3eT, Mobius
*/
public class DimensionalMerchant extends AbstractNpcAI
{
@@ -43,9 +51,10 @@ public class DimensionalMerchant extends AbstractNpcAI
private static final int SUP_MINION_COUPON_EV = 14074; // Superior Minion Coupon (Event) - 5-hour
private static final int ENH_MINION_COUPON = 20914; // Enhanced Rose Spirit Coupon (5-hour)
private static final int ENH_MINION_COUPON_EV = 22240; // Enhanced Rose Spirit Coupon (5-hour) - Event
// Misc
// Others
private static final String COMMAND_BYPASS = "Quest DimensionalMerchant ";
private static final HashMap<String, Integer> MINION_EXCHANGE = new HashMap<>();
static
{
// Normal
MINION_EXCHANGE.put("whiteWeasel", 13017); // White Weasel Minion Necklace
@@ -76,7 +85,6 @@ public class DimensionalMerchant extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
switch (event)
{
case "32478.html":
@@ -144,6 +152,43 @@ public class DimensionalMerchant extends AbstractNpcAI
htmltext = giveMinion(player, event, ENH_MINION_COUPON, ENH_MINION_COUPON_EV);
break;
}
case "package_deposit":
{
if (player.getAccountChars().size() < 1)
{
player.sendPacket(SystemMessageId.THAT_CHARACTER_DOES_NOT_EXIST);
}
else
{
player.sendPacket(new PackageToList(player.getAccountChars()));
}
break;
}
case "package_withdraw":
{
final PlayerFreight freight = player.getFreight();
if (freight != null)
{
if (freight.getSize() > 0)
{
player.setActiveWarehouse(freight);
for (ItemInstance i : player.getActiveWarehouse().getItems())
{
if (i.isTimeLimitedItem() && (i.getRemainingTime() <= 0))
{
player.getActiveWarehouse().destroyItem("ItemInstance", i, player, null);
}
}
player.sendPacket(new WareHouseWithdrawalList(1, player, WareHouseWithdrawalList.FREIGHT));
player.sendPacket(new WareHouseWithdrawalList(2, player, WareHouseWithdrawalList.FREIGHT));
}
else
{
player.sendPacket(SystemMessageId.YOU_HAVE_NOT_DEPOSITED_ANY_ITEMS_IN_YOUR_WAREHOUSE);
}
}
break;
}
}
return htmltext;
}
@@ -166,6 +211,17 @@ public class DimensionalMerchant extends AbstractNpcAI
return "32478-07.html";
}
@RegisterEvent(EventType.ON_PLAYER_BYPASS)
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void OnPlayerBypass(OnPlayerBypass event)
{
final PlayerInstance player = event.getPlayer();
if (event.getCommand().startsWith(COMMAND_BYPASS))
{
notifyEvent(event.getCommand().replace(COMMAND_BYPASS, ""), null, player);
}
}
public static void main(String[] args)
{
new DimensionalMerchant();

View File

@@ -90,12 +90,7 @@
<class classId="116" name="Doom Cryer" parentClassId="52" />
<class classId="117" name="Fortune Seeker" parentClassId="55" />
<class classId="118" name="Maestro" parentClassId="57" />
<!-- NPCs -->
<class classId="119" name="World Trap" />
<class classId="120" name="Player Trap" />
<class classId="121" name="Double Ghost" />
<class classId="122" name="Siege Attacker" />
<!-- Third Classes Kamael -->
<!-- Kamael -->
<class classId="123" name="Male Kamael Soldier" />
<class classId="124" name="Female Kamael Soldier" />
<class classId="125" name="Trooper" parentClassId="123" />
@@ -155,9 +150,9 @@
<class classId="179" name="Aeore Cardinal" parentClassId="97" />
<class classId="180" name="Aeore Eva's Saint" parentClassId="105" />
<class classId="181" name="Aeore Shillien Saint" parentClassId="112" />
<!-- Etheria -->
<class classId="182" name="Etheria Fighter" />
<class classId="183" name="Etheria Wizard" />
<!-- Ertheia -->
<class classId="182" name="Ertheia Fighter" />
<class classId="183" name="Ertheia Wizard" />
<class classId="184" name="Marauder" parentClassId="182" />
<class classId="185" name="Cloud Breaker" parentClassId="183" />
<class classId="186" name="Ripper" parentClassId="184" />

View File

@@ -1497,7 +1497,7 @@
<height normal="10" />
</collision>
</npc>
<npc id="13591" level="85" type="L2Npc" name="Greater Virgo Agathion Charm">
<npc id="13591" level="85" type="Npc" name="Greater Virgo Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1516,7 +1516,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13592" level="85" type="L2Npc" name="Greater Capricorn Agathion Charm">
<npc id="13592" level="85" type="Npc" name="Greater Capricorn Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1535,7 +1535,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13593" level="85" type="L2Npc" name="Greater Libra Agathion Charm">
<npc id="13593" level="85" type="Npc" name="Greater Libra Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1554,7 +1554,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13594" level="85" type="L2Npc" name="Greater Aries Agathion Charm">
<npc id="13594" level="85" type="Npc" name="Greater Aries Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1573,7 +1573,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13595" level="85" type="L2Npc" name="Greater Taurus Agathion Charm">
<npc id="13595" level="85" type="Npc" name="Greater Taurus Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1592,7 +1592,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13596" level="85" type="L2Npc" name="Greater Leo Agathion Charm">
<npc id="13596" level="85" type="Npc" name="Greater Leo Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1611,7 +1611,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13597" level="85" type="L2Npc" name="Greater Gemini Agathion Charm">
<npc id="13597" level="85" type="Npc" name="Greater Gemini Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1630,7 +1630,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13598" level="85" type="L2Npc" name="Greater Scorpio Agathion Charm">
<npc id="13598" level="85" type="Npc" name="Greater Scorpio Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1649,7 +1649,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13599" level="85" type="L2Npc" name="Greater Aquarius Agathion Charm">
<npc id="13599" level="85" type="Npc" name="Greater Aquarius Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
<npc id="13600" level="85" type="L2Npc" name="Greater Pisces Agathion Charm">
<npc id="13600" level="85" type="Npc" name="Greater Pisces Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -19,7 +19,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13601" level="85" type="L2Npc" name="Greater Sagittarius Agathion Charm">
<npc id="13601" level="85" type="Npc" name="Greater Sagittarius Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -38,7 +38,7 @@
<height normal="5.15" />
</collision>
</npc>
<npc id="13602" level="85" type="L2Npc" name="Greater Cancer Agathion Charm">
<npc id="13602" level="85" type="Npc" name="Greater Cancer Agathion Charm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -1538,7 +1538,7 @@
<height normal="23.5" />
</collision>
</npc>
<npc id="15250" level="85" type="L2Npc" name="Blood Panther">
<npc id="15250" level="85" type="Npc" name="Blood Panther">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1557,7 +1557,7 @@
<height normal="14.5" />
</collision>
</npc>
<npc id="15251" level="85" type="L2Npc" name="Blood Panther">
<npc id="15251" level="85" type="Npc" name="Blood Panther">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1576,7 +1576,7 @@
<height normal="14.5" />
</collision>
</npc>
<npc id="15252" level="85" type="L2Npc" name="Feline Queen">
<npc id="15252" level="85" type="Npc" name="Feline Queen">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1596,7 +1596,7 @@
<height normal="15" />
</collision>
</npc>
<npc id="15253" level="85" type="L2Npc" name="Feline Queen">
<npc id="15253" level="85" type="Npc" name="Feline Queen">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1616,7 +1616,7 @@
<height normal="15" />
</collision>
</npc>
<npc id="15254" level="85" type="L2Npc" name="Seraphim the Unicorn">
<npc id="15254" level="85" type="Npc" name="Seraphim the Unicorn">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1636,7 +1636,7 @@
<height normal="25.5" />
</collision>
</npc>
<npc id="15255" level="85" type="L2Npc" name="Seraphim the Unicorn">
<npc id="15255" level="85" type="Npc" name="Seraphim the Unicorn">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1656,7 +1656,7 @@
<height normal="25.5" />
</collision>
</npc>
<npc id="15256" level="85" type="L2Npc" name="Soulless">
<npc id="15256" level="85" type="Npc" name="Soulless">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1676,7 +1676,7 @@
<height normal="33" />
</collision>
</npc>
<npc id="15257" level="85" type="L2Npc" name="Soulless">
<npc id="15257" level="85" type="Npc" name="Soulless">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -784,7 +784,7 @@
<skill id="32727" level="3" /> <!-- Fafurion's Arrogance - Stage 3 -->
</skillList>
</npc>
<npc id="19741" level="85" type="L2Npc" name="Sticky Mushroom">
<npc id="19741" level="85" type="Npc" name="Sticky Mushroom">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -803,7 +803,7 @@
<height normal="0.1" />
</collision>
</npc>
<npc id="19742" level="85" type="L2Npc" name="Herb Effect">
<npc id="19742" level="85" type="Npc" name="Herb Effect">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -822,7 +822,7 @@
<height normal="0.1" />
</collision>
</npc>
<npc id="19743" level="85" type="L2Npc" name="">
<npc id="19743" level="85" type="Npc" name="">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -841,7 +841,7 @@
<height normal="0.1" />
</collision>
</npc>
<npc id="19744" level="85" type="L2Npc" name="Pa'agrio Orc Hero">
<npc id="19744" level="85" type="Npc" name="Pa'agrio Orc Hero">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -861,7 +861,7 @@
<height normal="49" />
</collision>
</npc>
<npc id="19745" level="85" type="L2Npc" name="Pa'agrio Orc">
<npc id="19745" level="85" type="Npc" name="Pa'agrio Orc">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -1315,7 +1315,7 @@
</lucky>
</dropLists>
</npc>
<npc id="24330" level="85" type="L2Npc" name="Ice Knight">
<npc id="24330" level="85" type="Npc" name="Ice Knight">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1334,7 +1334,7 @@
<height normal="31" />
</collision>
</npc>
<npc id="24331" level="85" type="L2Npc" name="Klacias">
<npc id="24331" level="85" type="Npc" name="Klacias">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1353,7 +1353,7 @@
<height normal="67.5" />
</collision>
</npc>
<npc id="24332" level="85" type="L2Npc" name="Icy Breath">
<npc id="24332" level="85" type="Npc" name="Icy Breath">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1372,7 +1372,7 @@
<height normal="50" />
</collision>
</npc>
<npc id="24333" level="85" type="L2Npc" name="Freya">
<npc id="24333" level="85" type="Npc" name="Freya">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1391,7 +1391,7 @@
<height normal="55" />
</collision>
</npc>
<npc id="24334" level="85" type="L2Npc" name="Tanta Lizardman Scout">
<npc id="24334" level="85" type="Npc" name="Tanta Lizardman Scout">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1411,7 +1411,7 @@
<height normal="35" />
</collision>
</npc>
<npc id="24335" level="85" type="L2Npc" name="Tanta Lizardman Warrior">
<npc id="24335" level="85" type="Npc" name="Tanta Lizardman Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1431,7 +1431,7 @@
<height normal="40" />
</collision>
</npc>
<npc id="24336" level="85" type="L2Npc" name="Tanta Lizardman Soldier">
<npc id="24336" level="85" type="Npc" name="Tanta Lizardman Soldier">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1450,7 +1450,7 @@
<height normal="40.25" />
</collision>
</npc>
<npc id="24337" level="85" type="L2Npc" name="Tanta Lizardman Berserker">
<npc id="24337" level="85" type="Npc" name="Tanta Lizardman Berserker">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1469,7 +1469,7 @@
<height normal="37.5" />
</collision>
</npc>
<npc id="24338" level="85" type="L2Npc" name="Tanta Lizardman Archer">
<npc id="24338" level="85" type="Npc" name="Tanta Lizardman Archer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1488,7 +1488,7 @@
<height normal="40.25" />
</collision>
</npc>
<npc id="24339" level="85" type="L2Npc" name="Tanta Lizardman Wizard">
<npc id="24339" level="85" type="Npc" name="Tanta Lizardman Wizard">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1508,7 +1508,7 @@
<height normal="35" />
</collision>
</npc>
<npc id="24340" level="85" type="L2Npc" name="Tanta Lizardman Summoner">
<npc id="24340" level="85" type="Npc" name="Tanta Lizardman Summoner">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1527,7 +1527,7 @@
<height normal="44" />
</collision>
</npc>
<npc id="24341" level="85" type="L2Npc" name="Tanta Lizardman Guard" title="Ugoros' Escort">
<npc id="24341" level="85" type="Npc" name="Tanta Lizardman Guard" title="Ugoros' Escort">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1547,7 +1547,7 @@
<height normal="35" />
</collision>
</npc>
<npc id="24342" level="85" type="L2Npc" name="Priest Ugoros" title="Tanta Lizardmen">
<npc id="24342" level="85" type="Npc" name="Priest Ugoros" title="Tanta Lizardmen">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1566,7 +1566,7 @@
<height normal="81.75" />
</collision>
</npc>
<npc id="24343" level="85" type="L2Npc" name="Sel Mahum Drill Sergeant">
<npc id="24343" level="85" type="Npc" name="Sel Mahum Drill Sergeant">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1585,7 +1585,7 @@
<height normal="31.5" />
</collision>
</npc>
<npc id="24344" level="85" type="L2Npc" name="Sel Mahum Training Officer">
<npc id="24344" level="85" type="Npc" name="Sel Mahum Training Officer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1604,7 +1604,7 @@
<height normal="33.5" />
</collision>
</npc>
<npc id="24345" level="85" type="L2Npc" name="Sel Mahum Drill Sergeant">
<npc id="24345" level="85" type="Npc" name="Sel Mahum Drill Sergeant">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1623,7 +1623,7 @@
<height normal="37" />
</collision>
</npc>
<npc id="24346" level="85" type="L2Npc" name="Sel Mahum Drill Sergeant">
<npc id="24346" level="85" type="Npc" name="Sel Mahum Drill Sergeant">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1642,7 +1642,7 @@
<height normal="31" />
</collision>
</npc>
<npc id="24347" level="85" type="L2Npc" name="Sel Mahum Warrior">
<npc id="24347" level="85" type="Npc" name="Sel Mahum Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1661,7 +1661,7 @@
<height normal="37" />
</collision>
</npc>
<npc id="24348" level="85" type="L2Npc" name="Sel Mahum Recruit">
<npc id="24348" level="85" type="Npc" name="Sel Mahum Recruit">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1680,7 +1680,7 @@
<height normal="31.5" />
</collision>
</npc>
<npc id="24349" level="85" type="L2Npc" name="Sel Mahum Soldier">
<npc id="24349" level="85" type="Npc" name="Sel Mahum Soldier">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1699,7 +1699,7 @@
<height normal="33.5" />
</collision>
</npc>
<npc id="24350" level="85" type="L2Npc" name="Sel Mahum Recruit">
<npc id="24350" level="85" type="Npc" name="Sel Mahum Recruit">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1718,7 +1718,7 @@
<height normal="37" />
</collision>
</npc>
<npc id="24351" level="85" type="L2Npc" name="Sel Mahum Soldier">
<npc id="24351" level="85" type="Npc" name="Sel Mahum Soldier">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1737,7 +1737,7 @@
<height normal="37" />
</collision>
</npc>
<npc id="24352" level="85" type="L2Npc" name="Sel Mahum Recruit">
<npc id="24352" level="85" type="Npc" name="Sel Mahum Recruit">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1756,7 +1756,7 @@
<height normal="31" />
</collision>
</npc>
<npc id="24353" level="85" type="L2Npc" name="Sel Mahum Soldier">
<npc id="24353" level="85" type="Npc" name="Sel Mahum Soldier">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1775,7 +1775,7 @@
<height normal="31" />
</collision>
</npc>
<npc id="24354" level="85" type="L2Npc" name="Sel Mahum Squad Leader">
<npc id="24354" level="85" type="Npc" name="Sel Mahum Squad Leader">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1794,7 +1794,7 @@
<height normal="31.5" />
</collision>
</npc>
<npc id="24355" level="85" type="L2Npc" name="Sel Mahum Squad Leader">
<npc id="24355" level="85" type="Npc" name="Sel Mahum Squad Leader">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1813,7 +1813,7 @@
<height normal="37" />
</collision>
</npc>
<npc id="24356" level="85" type="L2Npc" name="Sel Mahum Squad Leader">
<npc id="24356" level="85" type="Npc" name="Sel Mahum Squad Leader">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1832,7 +1832,7 @@
<height normal="31" />
</collision>
</npc>
<npc id="24357" level="85" type="L2Npc" name="Keltron" title="Sel Mahum Chief">
<npc id="24357" level="85" type="Npc" name="Keltron" title="Sel Mahum Chief">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1851,7 +1851,7 @@
<height normal="51.75" />
</collision>
</npc>
<npc id="24358" level="85" type="L2Npc" name="Keltron's Guard" title="Keltron's Minion">
<npc id="24358" level="85" type="Npc" name="Keltron's Guard" title="Keltron's Minion">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1870,7 +1870,7 @@
<height normal="37" />
</collision>
</npc>
<npc id="24359" level="85" type="L2Npc" name="Fury Tier Weiss">
<npc id="24359" level="85" type="Npc" name="Fury Tier Weiss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1889,7 +1889,7 @@
<height normal="28" />
</collision>
</npc>
<npc id="24360" level="85" type="L2Npc" name="Fury Tier Blanc">
<npc id="24360" level="85" type="Npc" name="Fury Tier Blanc">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1908,7 +1908,7 @@
<height normal="28" />
</collision>
</npc>
<npc id="24361" level="85" type="L2Npc" name="Fury Sylph Album">
<npc id="24361" level="85" type="Npc" name="Fury Sylph Album">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1927,7 +1927,7 @@
<height normal="40" />
</collision>
</npc>
<npc id="24362" level="85" type="L2Npc" name="Fury Tier Nero">
<npc id="24362" level="85" type="Npc" name="Fury Tier Nero">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1946,7 +1946,7 @@
<height normal="28" />
</collision>
</npc>
<npc id="24363" level="85" type="L2Npc" name="Fury Sylph Melan">
<npc id="24363" level="85" type="Npc" name="Fury Sylph Melan">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1965,7 +1965,7 @@
<height normal="40" />
</collision>
</npc>
<npc id="24364" level="85" type="L2Npc" name="Fury Harpy Schvar">
<npc id="24364" level="85" type="Npc" name="Fury Harpy Schvar">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1984,7 +1984,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="24365" level="85" type="L2Npc" name="Sel Mahum Chef">
<npc id="24365" level="85" type="Npc" name="Sel Mahum Chef">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2003,7 +2003,7 @@
<height normal="32.5" />
</collision>
</npc>
<npc id="24366" level="85" type="L2Npc" name="Priest of Purification" title="Zariche">
<npc id="24366" level="85" type="Npc" name="Priest of Purification" title="Zariche">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2022,7 +2022,7 @@
<height normal="36.5" />
</collision>
</npc>
<npc id="24367" level="85" type="L2Npc" name="Priest of Purification" title="Zariche">
<npc id="24367" level="85" type="Npc" name="Priest of Purification" title="Zariche">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2041,7 +2041,7 @@
<height normal="36.5" />
</collision>
</npc>
<npc id="24368" level="85" type="L2Npc" name="Priest of Purification" title="Akamanah">
<npc id="24368" level="85" type="Npc" name="Priest of Purification" title="Akamanah">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2060,7 +2060,7 @@
<height normal="36.5" />
</collision>
</npc>
<npc id="24369" level="85" type="L2Npc" name="Priest of Purification" title="Akamanah">
<npc id="24369" level="85" type="Npc" name="Priest of Purification" title="Akamanah">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2079,7 +2079,7 @@
<height normal="36.5" />
</collision>
</npc>
<npc id="24370" level="85" type="L2Npc" name="Zariche's Treasure Chest">
<npc id="24370" level="85" type="Npc" name="Zariche's Treasure Chest">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2098,7 +2098,7 @@
<height normal="45" />
</collision>
</npc>
<npc id="24371" level="85" type="L2Npc" name="Akamanah's Treasure Chest">
<npc id="24371" level="85" type="Npc" name="Akamanah's Treasure Chest">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2117,7 +2117,7 @@
<height normal="45" />
</collision>
</npc>
<npc id="24372" level="85" type="L2Npc" name="Crokian Lad">
<npc id="24372" level="85" type="Npc" name="Crokian Lad">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2137,7 +2137,7 @@
<height normal="32.2" />
</collision>
</npc>
<npc id="24373" level="85" type="L2Npc" name="Dailaon Lad">
<npc id="24373" level="85" type="Npc" name="Dailaon Lad">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2157,7 +2157,7 @@
<height normal="31.1" />
</collision>
</npc>
<npc id="24374" level="85" type="L2Npc" name="Crokian Lad Warrior" title="Watcher of Alligator Island">
<npc id="24374" level="85" type="Npc" name="Crokian Lad Warrior" title="Watcher of Alligator Island">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2177,7 +2177,7 @@
<height normal="48.2" />
</collision>
</npc>
<npc id="24375" level="85" type="L2Npc" name="Farhite Lad">
<npc id="24375" level="85" type="Npc" name="Farhite Lad">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2197,7 +2197,7 @@
<height normal="34.4" />
</collision>
</npc>
<npc id="24376" level="85" type="L2Npc" name="Nos Lad">
<npc id="24376" level="85" type="Npc" name="Nos Lad">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2217,7 +2217,7 @@
<height normal="35.25" />
</collision>
</npc>
<npc id="24377" level="85" type="L2Npc" name="Swamp Tribe" title="Lord of Alligator Island">
<npc id="24377" level="85" type="Npc" name="Swamp Tribe" title="Lord of Alligator Island">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2237,7 +2237,7 @@
<height normal="65" />
</collision>
</npc>
<npc id="24378" level="85" type="L2Npc" name="Swamp Alligator">
<npc id="24378" level="85" type="Npc" name="Swamp Alligator">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2257,7 +2257,7 @@
<height normal="32.2" />
</collision>
</npc>
<npc id="24379" level="85" type="L2Npc" name="Swamp Warrior">
<npc id="24379" level="85" type="Npc" name="Swamp Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2277,7 +2277,7 @@
<height normal="31.1" />
</collision>
</npc>
<npc id="24380" level="85" type="L2Npc" name="Nasty Eye">
<npc id="24380" level="85" type="Npc" name="Nasty Eye">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2296,7 +2296,7 @@
<height normal="43" />
</collision>
</npc>
<npc id="24381" level="85" type="L2Npc" name="Nasty Buggle">
<npc id="24381" level="85" type="Npc" name="Nasty Buggle">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2315,7 +2315,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="24382" level="85" type="L2Npc" name="Nasty Zombie">
<npc id="24382" level="85" type="Npc" name="Nasty Zombie">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2334,7 +2334,7 @@
<height normal="27.5" />
</collision>
</npc>
<npc id="24383" level="85" type="L2Npc" name="Nasty Zombie Lord">
<npc id="24383" level="85" type="Npc" name="Nasty Zombie Lord">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2353,7 +2353,7 @@
<height normal="21" />
</collision>
</npc>
<npc id="24384" level="85" type="L2Npc" name="Carcass Bat">
<npc id="24384" level="85" type="Npc" name="Carcass Bat">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2372,7 +2372,7 @@
<height normal="33.5" />
</collision>
</npc>
<npc id="24385" level="85" type="L2Npc" name="Vampire">
<npc id="24385" level="85" type="Npc" name="Vampire">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2392,7 +2392,7 @@
<height normal="21.5" />
</collision>
</npc>
<npc id="24386" level="85" type="L2Npc" name="Skeleton Scout">
<npc id="24386" level="85" type="Npc" name="Skeleton Scout">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2411,7 +2411,7 @@
<height normal="22" />
</collision>
</npc>
<npc id="24387" level="85" type="L2Npc" name="Skeleton Archer">
<npc id="24387" level="85" type="Npc" name="Skeleton Archer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2431,7 +2431,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="24388" level="85" type="L2Npc" name="Skeleton Warrior">
<npc id="24388" level="85" type="Npc" name="Skeleton Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2451,7 +2451,7 @@
<height normal="25" />
</collision>
</npc>
<npc id="24389" level="85" type="L2Npc" name="Spartoi Soldier">
<npc id="24389" level="85" type="Npc" name="Spartoi Soldier">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2471,7 +2471,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="24390" level="85" type="L2Npc" name="Raging Spartoi">
<npc id="24390" level="85" type="Npc" name="Raging Spartoi">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2491,7 +2491,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="24391" level="85" type="L2Npc" name="Sobbing Windra">
<npc id="24391" level="85" type="Npc" name="Sobbing Windra">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2510,7 +2510,7 @@
<height normal="35" />
</collision>
</npc>
<npc id="24392" level="85" type="L2Npc" name="Whispering Windra">
<npc id="24392" level="85" type="Npc" name="Whispering Windra">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2529,7 +2529,7 @@
<height normal="35" />
</collision>
</npc>
<npc id="24393" level="85" type="L2Npc" name="Giggling Windra">
<npc id="24393" level="85" type="Npc" name="Giggling Windra">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2548,7 +2548,7 @@
<height normal="35" />
</collision>
</npc>
<npc id="24394" level="85" type="L2Npc" name="Fear Ratel">
<npc id="24394" level="85" type="Npc" name="Fear Ratel">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2567,7 +2567,7 @@
<height normal="15" />
</collision>
</npc>
<npc id="24395" level="85" type="L2Npc" name="Fear Ratel Robust">
<npc id="24395" level="85" type="Npc" name="Fear Ratel Robust">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2586,7 +2586,7 @@
<height normal="15" />
</collision>
</npc>
<npc id="24396" level="85" type="L2Npc" name="Fear Growler">
<npc id="24396" level="85" type="Npc" name="Fear Growler">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2605,7 +2605,7 @@
<height normal="17" />
</collision>
</npc>
<npc id="24397" level="85" type="L2Npc" name="Fear Growler Evolved">
<npc id="24397" level="85" type="Npc" name="Fear Growler Evolved">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2624,7 +2624,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="24398" level="85" type="L2Npc" name="Fear Growler Robust">
<npc id="24398" level="85" type="Npc" name="Fear Growler Robust">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -2643,7 +2643,7 @@
<height normal="17" />
</collision>
</npc>
<npc id="24399" level="85" type="L2Npc" name="Fussy Leaf">
<npc id="24399" level="85" type="Npc" name="Fussy Leaf">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
<npc id="24400" level="85" type="L2Npc" name="Fussy Arbor">
<npc id="24400" level="85" type="Npc" name="Fussy Arbor">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -19,7 +19,7 @@
<height normal="90" />
</collision>
</npc>
<npc id="24401" level="85" type="L2Npc" name="Tiny Windima">
<npc id="24401" level="85" type="Npc" name="Tiny Windima">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -38,7 +38,7 @@
<height normal="21.5" />
</collision>
</npc>
<npc id="24402" level="85" type="L2Npc" name="Giant Windima">
<npc id="24402" level="85" type="Npc" name="Giant Windima">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -57,7 +57,7 @@
<height normal="47" />
</collision>
</npc>
<npc id="24403" level="85" type="L2Npc" name="Turek War Hound">
<npc id="24403" level="85" type="Npc" name="Turek War Hound">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -76,7 +76,7 @@
<height normal="17.5" />
</collision>
</npc>
<npc id="24404" level="85" type="L2Npc" name="Turek Orc Footman">
<npc id="24404" level="85" type="Npc" name="Turek Orc Footman">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -96,7 +96,7 @@
<height normal="21" />
</collision>
</npc>
<npc id="24405" level="85" type="L2Npc" name="Turek Orc Archer">
<npc id="24405" level="85" type="Npc" name="Turek Orc Archer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -116,7 +116,7 @@
<height normal="25" />
</collision>
</npc>
<npc id="24406" level="85" type="L2Npc" name="Turek Orc Skirmisher">
<npc id="24406" level="85" type="Npc" name="Turek Orc Skirmisher">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -136,7 +136,7 @@
<height normal="22" />
</collision>
</npc>
<npc id="24407" level="85" type="L2Npc" name="Turek Orc Prefect">
<npc id="24407" level="85" type="Npc" name="Turek Orc Prefect">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -156,7 +156,7 @@
<height normal="23" />
</collision>
</npc>
<npc id="24408" level="85" type="L2Npc" name="Turek Orc Priest">
<npc id="24408" level="85" type="Npc" name="Turek Orc Priest">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -176,7 +176,7 @@
<height normal="22" />
</collision>
</npc>
<npc id="24409" level="85" type="L2Npc" name="Ketra Orc Raider">
<npc id="24409" level="85" type="Npc" name="Ketra Orc Raider">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -196,7 +196,7 @@
<height normal="24" />
</collision>
</npc>
<npc id="24410" level="85" type="L2Npc" name="Ketra Orc Warrior">
<npc id="24410" level="85" type="Npc" name="Ketra Orc Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -216,7 +216,7 @@
<height normal="24" />
</collision>
</npc>
<npc id="24411" level="85" type="L2Npc" name="Ketra Orc Scout">
<npc id="24411" level="85" type="Npc" name="Ketra Orc Scout">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -236,7 +236,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="24412" level="85" type="L2Npc" name="Ketra Orc Priest">
<npc id="24412" level="85" type="Npc" name="Ketra Orc Priest">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -256,7 +256,7 @@
<height normal="23" />
</collision>
</npc>
<npc id="24413" level="85" type="L2Npc" name="Ketra Orc Officer">
<npc id="24413" level="85" type="Npc" name="Ketra Orc Officer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -276,7 +276,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="24414" level="85" type="L2Npc" name="Ketra Orc Captain">
<npc id="24414" level="85" type="Npc" name="Ketra Orc Captain">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -296,7 +296,7 @@
<height normal="38.5" />
</collision>
</npc>
<npc id="24415" level="85" type="L2Npc" name="Breka Orc Scout">
<npc id="24415" level="85" type="Npc" name="Breka Orc Scout">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -316,7 +316,7 @@
<height normal="20" />
</collision>
</npc>
<npc id="24416" level="85" type="L2Npc" name="Breka Orc Scout Captain">
<npc id="24416" level="85" type="Npc" name="Breka Orc Scout Captain">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -336,7 +336,7 @@
<height normal="24" />
</collision>
</npc>
<npc id="24417" level="85" type="L2Npc" name="Breka Orc Archer">
<npc id="24417" level="85" type="Npc" name="Breka Orc Archer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -356,7 +356,7 @@
<height normal="21.5" />
</collision>
</npc>
<npc id="24418" level="85" type="L2Npc" name="Breka Orc Shaman">
<npc id="24418" level="85" type="Npc" name="Breka Orc Shaman">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -375,7 +375,7 @@
<height normal="28.5" />
</collision>
</npc>
<npc id="24419" level="85" type="L2Npc" name="Breka Orc Slaughterer">
<npc id="24419" level="85" type="Npc" name="Breka Orc Slaughterer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -395,7 +395,7 @@
<height normal="33" />
</collision>
</npc>
<npc id="24420" level="85" type="L2Npc" name="Breka Orc Prefect" title="Lord of Breka's Stronghold">
<npc id="24420" level="85" type="Npc" name="Breka Orc Prefect" title="Lord of Breka's Stronghold">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -414,7 +414,7 @@
<height normal="36.5" />
</collision>
</npc>
<npc id="24421" level="85" type="L2Npc" name="Stone Gargoyle">
<npc id="24421" level="85" type="Npc" name="Stone Gargoyle">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -433,7 +433,7 @@
<height normal="50" />
</collision>
</npc>
<npc id="24422" level="85" type="L2Npc" name="Stone Golem">
<npc id="24422" level="85" type="Npc" name="Stone Golem">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -452,7 +452,7 @@
<height normal="31" />
</collision>
</npc>
<npc id="24423" level="85" type="L2Npc" name="Monster Eye">
<npc id="24423" level="85" type="Npc" name="Monster Eye">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -471,7 +471,7 @@
<height normal="43" />
</collision>
</npc>
<npc id="24424" level="85" type="L2Npc" name="Gargoyle Hunter">
<npc id="24424" level="85" type="Npc" name="Gargoyle Hunter">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -490,7 +490,7 @@
<height normal="65" />
</collision>
</npc>
<npc id="24425" level="85" type="L2Npc" name="Steel Golem">
<npc id="24425" level="85" type="Npc" name="Steel Golem">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -509,7 +509,7 @@
<height normal="34" />
</collision>
</npc>
<npc id="24426" level="85" type="L2Npc" name="Stone Cube" title="Lord of Ivory Tower Crater">
<npc id="24426" level="85" type="Npc" name="Stone Cube" title="Lord of Ivory Tower Crater">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -528,7 +528,7 @@
<height normal="35" />
</collision>
</npc>
<npc id="24427" level="85" type="L2Npc" name="Fury Tier Nero">
<npc id="24427" level="85" type="Npc" name="Fury Tier Nero">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -547,7 +547,7 @@
<height normal="28" />
</collision>
</npc>
<npc id="24428" level="85" type="L2Npc" name="Fury Sylph Melan">
<npc id="24428" level="85" type="Npc" name="Fury Sylph Melan">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -566,7 +566,7 @@
<height normal="40" />
</collision>
</npc>
<npc id="24429" level="85" type="L2Npc" name="Fury Sylph Album">
<npc id="24429" level="85" type="Npc" name="Fury Sylph Album">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -585,7 +585,7 @@
<height normal="40" />
</collision>
</npc>
<npc id="24430" level="85" type="L2Npc" name="Fury Harpy Schvar">
<npc id="24430" level="85" type="Npc" name="Fury Harpy Schvar">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -604,7 +604,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="24431" level="85" type="L2Npc" name="Fury Harpe">
<npc id="24431" level="85" type="Npc" name="Fury Harpe">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -623,7 +623,7 @@
<height normal="43" />
</collision>
</npc>
<npc id="24432" level="85" type="L2Npc" name="Fury Harpy Queen" title="Goddess of Storm">
<npc id="24432" level="85" type="Npc" name="Fury Harpy Queen" title="Goddess of Storm">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -642,7 +642,7 @@
<height normal="43" />
</collision>
</npc>
<npc id="24436" level="85" type="L2Npc" name="Deinonychus">
<npc id="24436" level="85" type="Npc" name="Deinonychus">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -661,7 +661,7 @@
<height normal="14.3" />
</collision>
</npc>
<npc id="24437" level="85" type="L2Npc" name="Ornithomimus">
<npc id="24437" level="85" type="Npc" name="Ornithomimus">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -680,7 +680,7 @@
<height normal="37.2" />
</collision>
</npc>
<npc id="24438" level="85" type="L2Npc" name="Velociraptor">
<npc id="24438" level="85" type="Npc" name="Velociraptor">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -699,7 +699,7 @@
<height normal="47.2" />
</collision>
</npc>
<npc id="24439" level="85" type="L2Npc" name="Pachycephalosaurus">
<npc id="24439" level="85" type="Npc" name="Pachycephalosaurus">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -718,7 +718,7 @@
<height normal="40" />
</collision>
</npc>
<npc id="24440" level="85" type="L2Npc" name="Pterosaur">
<npc id="24440" level="85" type="Npc" name="Pterosaur">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -737,7 +737,7 @@
<height normal="43.7" />
</collision>
</npc>
<npc id="24441" level="85" type="L2Npc" name="Tyrannosaurus" title="Primeval Tyrant">
<npc id="24441" level="85" type="Npc" name="Tyrannosaurus" title="Primeval Tyrant">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -756,7 +756,7 @@
<height normal="70" />
</collision>
</npc>
<npc id="24445" level="85" type="L2Npc" name="Lizardman Rogue">
<npc id="24445" level="85" type="Npc" name="Lizardman Rogue">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -775,7 +775,7 @@
<height normal="40.25" />
</collision>
</npc>
<npc id="24446" level="85" type="L2Npc" name="Island Guardian">
<npc id="24446" level="85" type="Npc" name="Island Guardian">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -794,7 +794,7 @@
<height normal="16" />
</collision>
</npc>
<npc id="24447" level="85" type="L2Npc" name="Niasis">
<npc id="24447" level="85" type="Npc" name="Niasis">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -814,7 +814,7 @@
<height normal="27.5" />
</collision>
</npc>
<npc id="24448" level="85" type="L2Npc" name="Lizardman Archer">
<npc id="24448" level="85" type="Npc" name="Lizardman Archer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -833,7 +833,7 @@
<height normal="40.25" />
</collision>
</npc>
<npc id="24449" level="85" type="L2Npc" name="Lizardman Warrior">
<npc id="24449" level="85" type="Npc" name="Lizardman Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -852,7 +852,7 @@
<height normal="37.5" />
</collision>
</npc>
<npc id="24450" level="85" type="L2Npc" name="Lizardmen Wizard">
<npc id="24450" level="85" type="Npc" name="Lizardmen Wizard">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -871,7 +871,7 @@
<height normal="53.5" />
</collision>
</npc>
<npc id="24451" level="85" type="L2Npc" name="Lizardmen Defender" title="Lord of Isle of Prayer">
<npc id="24451" level="85" type="Npc" name="Lizardmen Defender" title="Lord of Isle of Prayer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -890,7 +890,7 @@
<height normal="57.75" />
</collision>
</npc>
<npc id="24452" level="85" type="L2Npc" name="Doom Soldier">
<npc id="24452" level="85" type="Npc" name="Doom Soldier">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -909,7 +909,7 @@
<height normal="41" />
</collision>
</npc>
<npc id="24453" level="85" type="L2Npc" name="Doom Servant">
<npc id="24453" level="85" type="Npc" name="Doom Servant">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -928,7 +928,7 @@
<height normal="41" />
</collision>
</npc>
<npc id="24454" level="85" type="L2Npc" name="Doom Berserker">
<npc id="24454" level="85" type="Npc" name="Doom Berserker">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -947,7 +947,7 @@
<height normal="51" />
</collision>
</npc>
<npc id="24455" level="85" type="L2Npc" name="Doom Seer">
<npc id="24455" level="85" type="Npc" name="Doom Seer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -966,7 +966,7 @@
<height normal="51" />
</collision>
</npc>
<npc id="24457" level="85" type="L2Npc" name="Marsh Vampire Rogue">
<npc id="24457" level="85" type="Npc" name="Marsh Vampire Rogue">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -985,7 +985,7 @@
<height normal="28.5" />
</collision>
</npc>
<npc id="24458" level="85" type="L2Npc" name="Marsh Vampire Warrior">
<npc id="24458" level="85" type="Npc" name="Marsh Vampire Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1004,7 +1004,7 @@
<height normal="37" />
</collision>
</npc>
<npc id="24459" level="85" type="L2Npc" name="Marsh Vampire Wizard">
<npc id="24459" level="85" type="Npc" name="Marsh Vampire Wizard">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1023,7 +1023,7 @@
<height normal="32" />
</collision>
</npc>
<npc id="24460" level="85" type="L2Npc" name="Marsh Vampire Shooter">
<npc id="24460" level="85" type="Npc" name="Marsh Vampire Shooter">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1043,7 +1043,7 @@
<height normal="26" />
</collision>
</npc>
<npc id="24461" level="85" type="L2Npc" name="Forest Ghost">
<npc id="24461" level="85" type="Npc" name="Forest Ghost">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1062,7 +1062,7 @@
<height normal="21" />
</collision>
</npc>
<npc id="24462" level="85" type="L2Npc" name="Bewildered Expedition Member">
<npc id="24462" level="85" type="Npc" name="Bewildered Expedition Member">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1081,7 +1081,7 @@
<height normal="33.4" />
</collision>
</npc>
<npc id="24463" level="85" type="L2Npc" name="Bewildered Patrol">
<npc id="24463" level="85" type="Npc" name="Bewildered Patrol">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1101,7 +1101,7 @@
<height normal="31.45" />
</collision>
</npc>
<npc id="24464" level="85" type="L2Npc" name="Bewildered Dwarf Adventurer">
<npc id="24464" level="85" type="Npc" name="Bewildered Dwarf Adventurer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1120,7 +1120,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="24465" level="85" type="L2Npc" name="Forest Evil Spirit">
<npc id="24465" level="85" type="Npc" name="Forest Evil Spirit">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1139,7 +1139,7 @@
<height normal="52" />
</collision>
</npc>
<npc id="24466" level="85" type="L2Npc" name="Demonic Mirror" title="Emperor of the Forest of Mirrors">
<npc id="24466" level="85" type="Npc" name="Demonic Mirror" title="Emperor of the Forest of Mirrors">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1158,7 +1158,7 @@
<height normal="79.5" />
</collision>
</npc>
<npc id="24470" level="85" type="L2Npc" name="Kamael Traitor">
<npc id="24470" level="85" type="Npc" name="Kamael Traitor">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1178,7 +1178,7 @@
<height normal="24" />
</collision>
</npc>
<npc id="24471" level="85" type="L2Npc" name="Kamael Renegade">
<npc id="24471" level="85" type="Npc" name="Kamael Renegade">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1198,7 +1198,7 @@
<height normal="24" />
</collision>
</npc>
<npc id="24472" level="85" type="L2Npc" name="Trained Monkey">
<npc id="24472" level="85" type="Npc" name="Trained Monkey">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1218,7 +1218,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="24473" level="85" type="L2Npc" name="Dwarf Grave Robber">
<npc id="24473" level="85" type="Npc" name="Dwarf Grave Robber">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1238,7 +1238,7 @@
<height normal="20" />
</collision>
</npc>
<npc id="24474" level="85" type="L2Npc" name="Muertos Outlaw">
<npc id="24474" level="85" type="Npc" name="Muertos Outlaw">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1258,7 +1258,7 @@
<height normal="24.5" />
</collision>
</npc>
<npc id="24475" level="85" type="L2Npc" name="Orc Raider">
<npc id="24475" level="85" type="Npc" name="Orc Raider">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1278,7 +1278,7 @@
<height normal="26.5" />
</collision>
</npc>
<npc id="24480" level="85" type="L2Npc" name="Dragon Legionary">
<npc id="24480" level="85" type="Npc" name="Dragon Legionary">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1298,7 +1298,7 @@
<height normal="42" />
</collision>
</npc>
<npc id="24481" level="85" type="L2Npc" name="Dragon Peltast">
<npc id="24481" level="85" type="Npc" name="Dragon Peltast">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1318,7 +1318,7 @@
<height normal="36" />
</collision>
</npc>
<npc id="24482" level="85" type="L2Npc" name="Dragon Officer">
<npc id="24482" level="85" type="Npc" name="Dragon Officer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1337,7 +1337,7 @@
<height normal="39.5" />
</collision>
</npc>
<npc id="24483" level="85" type="L2Npc" name="Dragon Centurion">
<npc id="24483" level="85" type="Npc" name="Dragon Centurion">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1357,7 +1357,7 @@
<height normal="33" />
</collision>
</npc>
<npc id="24484" level="85" type="L2Npc" name="Dragon Elite Guard">
<npc id="24484" level="85" type="Npc" name="Dragon Elite Guard">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1376,7 +1376,7 @@
<height normal="55" />
</collision>
</npc>
<npc id="24485" level="85" type="L2Npc" name="Behemoth Dragon" title="Emperor of the Dragon Valley">
<npc id="24485" level="85" type="Npc" name="Behemoth Dragon" title="Emperor of the Dragon Valley">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -586,7 +586,7 @@
<height normal="72" />
</collision>
</npc>
<npc id="26427" level="85" type="L2Npc" name="Gigantic Golden Pig" title="Raid Boss">
<npc id="26427" level="85" type="Npc" name="Gigantic Golden Pig" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -605,7 +605,7 @@
<height normal="120.75" />
</collision>
</npc>
<npc id="26431" level="85" type="L2Npc" name="Avenger Alusion" title="Raid Boss">
<npc id="26431" level="85" type="Npc" name="Avenger Alusion" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -624,7 +624,7 @@
<height normal="92.2" />
</collision>
</npc>
<npc id="26432" level="85" type="L2Npc" name="Avenger Graff" title="Raid Boss">
<npc id="26432" level="85" type="Npc" name="Avenger Graff" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -643,7 +643,7 @@
<height normal="85.4" />
</collision>
</npc>
<npc id="26433" level="85" type="L2Npc" name="Demon Venoma" title="Raid Boss">
<npc id="26433" level="85" type="Npc" name="Demon Venoma" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -663,7 +663,7 @@
<height normal="56" />
</collision>
</npc>
<npc id="26434" level="85" type="L2Npc" name="Fiend Sarboth" title="Raid Boss">
<npc id="26434" level="85" type="Npc" name="Fiend Sarboth" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -682,7 +682,7 @@
<height normal="68" />
</collision>
</npc>
<npc id="26435" level="85" type="L2Npc" name="Watcher Tristan" title="Raid Boss">
<npc id="26435" level="85" type="Npc" name="Watcher Tristan" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -701,7 +701,7 @@
<height normal="71.4" />
</collision>
</npc>
<npc id="26436" level="85" type="L2Npc" name="Watcher Setheth" title="Raid Boss">
<npc id="26436" level="85" type="Npc" name="Watcher Setheth" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -720,7 +720,7 @@
<height normal="67.5" />
</collision>
</npc>
<npc id="26437" level="85" type="L2Npc" name="Berserker Zetahl" title="Raid Boss">
<npc id="26437" level="85" type="Npc" name="Berserker Zetahl" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -739,7 +739,7 @@
<height normal="40.8" />
</collision>
</npc>
<npc id="26438" level="85" type="L2Npc" name="Berserker Tabris" title="Raid Boss">
<npc id="26438" level="85" type="Npc" name="Berserker Tabris" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -758,7 +758,7 @@
<height normal="54.5" />
</collision>
</npc>
<npc id="26439" level="85" type="L2Npc" name="Ferocious Valac" title="Raid Boss">
<npc id="26439" level="85" type="Npc" name="Ferocious Valac" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -777,7 +777,7 @@
<height normal="77.5" />
</collision>
</npc>
<npc id="26440" level="85" type="L2Npc" name="Arrogant Lebruum" title="Raid Boss">
<npc id="26440" level="85" type="Npc" name="Arrogant Lebruum" title="Raid Boss">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -3682,7 +3682,7 @@
<skill id="16547" level="10" /> <!-- Danger Zone Attack Resistance -->
</skillList>
</npc>
<npc id="29379" level="85" type="L2Npc" name="Lord Ishka" title="Blade of Revenge">
<npc id="29379" level="85" type="Npc" name="Lord Ishka" title="Blade of Revenge">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -1801,7 +1801,7 @@
<height normal="18" />
</collision>
</npc>
<npc id="34495" level="85" type="L2Npc" name="Anakim's Messenger">
<npc id="34495" level="85" type="Npc" name="Anakim's Messenger">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1821,7 +1821,7 @@
<height normal="30.5" />
</collision>
</npc>
<npc id="34496" level="85" type="L2Npc" name="Dimensional Castle Siege Messenger">
<npc id="34496" level="85" type="Npc" name="Dimensional Castle Siege Messenger">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1841,7 +1841,7 @@
<height normal="24" />
</collision>
</npc>
<npc id="34497" level="85" type="L2Npc" name="Happy Snow" title="Celebrating the 15th Anniversary">
<npc id="34497" level="85" type="Npc" name="Happy Snow" title="Celebrating the 15th Anniversary">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1861,7 +1861,7 @@
<height normal="16.2" />
</collision>
</npc>
<npc id="34498" level="85" type="L2Npc" name="15th Anniversary Cake" title="Sharing happiness">
<npc id="34498" level="85" type="Npc" name="15th Anniversary Cake" title="Sharing happiness">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -1880,7 +1880,7 @@
<height normal="19.5" />
</collision>
</npc>
<npc id="34499" level="85" type="L2Npc" name="15th Anniversary Cake" title="Delicious">
<npc id="34499" level="85" type="Npc" name="15th Anniversary Cake" title="Delicious">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
<npc id="34500" level="85" type="L2Npc" name="Clumsy Snow" title="Proud">
<npc id="34500" level="85" type="Npc" name="Clumsy Snow" title="Proud">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -19,7 +19,7 @@
<height normal="20.25" />
</collision>
</npc>
<npc id="34501" level="85" type="L2Npc" name="Bora" title="GM Helper">
<npc id="34501" level="85" type="Npc" name="Bora" title="GM Helper">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -38,7 +38,7 @@
<height normal="45" />
</collision>
</npc>
<npc id="34502" level="85" type="L2Npc" name="Bora" title="GM Helper">
<npc id="34502" level="85" type="Npc" name="Bora" title="GM Helper">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -57,7 +57,7 @@
<height normal="45" />
</collision>
</npc>
<npc id="34503" level="85" type="L2Npc" name="Sel Mahum Treasure Chest">
<npc id="34503" level="85" type="Npc" name="Sel Mahum Treasure Chest">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -76,7 +76,7 @@
<height normal="8" />
</collision>
</npc>
<npc id="34504" level="85" type="L2Npc" name="Leona Blackbird" title="Blackbird Clan Lord">
<npc id="34504" level="85" type="Npc" name="Leona Blackbird" title="Blackbird Clan Lord">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -96,7 +96,7 @@
<height normal="22.4" />
</collision>
</npc>
<npc id="34505" level="85" type="L2Npc" name="Tarti">
<npc id="34505" level="85" type="Npc" name="Tarti">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -115,7 +115,7 @@
<height normal="20" />
</collision>
</npc>
<npc id="34506" level="85" type="L2Npc" name="Lucy" title="Kindhearted">
<npc id="34506" level="85" type="Npc" name="Lucy" title="Kindhearted">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -134,7 +134,7 @@
<height normal="23" />
</collision>
</npc>
<npc id="34507" level="85" type="L2Npc" name="Rok" title="Caring">
<npc id="34507" level="85" type="Npc" name="Rok" title="Caring">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -154,7 +154,7 @@
<height normal="21" />
</collision>
</npc>
<npc id="34508" level="85" type="L2Npc" name="Battlefield Guide" title="Cursed Sword">
<npc id="34508" level="85" type="Npc" name="Battlefield Guide" title="Cursed Sword">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -173,7 +173,7 @@
<height normal="27" />
</collision>
</npc>
<npc id="34509" level="85" type="L2Npc" name="Lucky Pig" title="Golden Pig">
<npc id="34509" level="85" type="Npc" name="Lucky Pig" title="Golden Pig">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -192,7 +192,7 @@
<height normal="15" />
</collision>
</npc>
<npc id="34510" level="85" type="L2Npc" name="Golden Pig" title="Year of the Golden Pig">
<npc id="34510" level="85" type="Npc" name="Golden Pig" title="Year of the Golden Pig">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -211,7 +211,7 @@
<height normal="18.3" />
</collision>
</npc>
<npc id="34511" level="85" type="L2Npc" name="Lucy" title="Kindhearted">
<npc id="34511" level="85" type="Npc" name="Lucy" title="Kindhearted">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -230,7 +230,7 @@
<height normal="23" />
</collision>
</npc>
<npc id="34512" level="85" type="L2Npc" name="Caring Rok" title="Inexperienced in Love Affairs">
<npc id="34512" level="85" type="Npc" name="Caring Rok" title="Inexperienced in Love Affairs">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -250,7 +250,7 @@
<height normal="21" />
</collision>
</npc>
<npc id="34513" level="85" type="L2Npc" name="Joachim" title="Dual Class Master">
<npc id="34513" level="85" type="Npc" name="Joachim" title="Dual Class Master">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -270,7 +270,7 @@
<height normal="25" />
</collision>
</npc>
<npc id="34514" level="85" type="L2Npc" name="Gallias" title="Dual Class Certificate Manager">
<npc id="34514" level="85" type="Npc" name="Gallias" title="Dual Class Certificate Manager">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -290,7 +290,7 @@
<height normal="26" />
</collision>
</npc>
<npc id="34515" level="85" type="L2Npc" name="Eva's Avatar" title="Goddess of Water">
<npc id="34515" level="85" type="Npc" name="Eva's Avatar" title="Goddess of Water">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -309,7 +309,7 @@
<height normal="26.5" />
</collision>
</npc>
<npc id="34516" level="85" type="L2Npc" name="Unused NPC">
<npc id="34516" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -328,7 +328,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34517" level="85" type="L2Npc" name="Unused NPC">
<npc id="34517" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -347,7 +347,7 @@
<height normal="30.5" />
</collision>
</npc>
<npc id="34518" level="85" type="L2Npc" name="Unused NPC">
<npc id="34518" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -366,7 +366,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34519" level="85" type="L2Npc" name="Unused NPC">
<npc id="34519" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -385,7 +385,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34520" level="85" type="L2Npc" name="Unused NPC">
<npc id="34520" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -404,7 +404,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34521" level="85" type="L2Npc" name="Unused NPC">
<npc id="34521" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -423,7 +423,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34522" level="85" type="L2Npc" name="Unused NPC">
<npc id="34522" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -442,7 +442,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34523" level="85" type="L2Npc" name="Unused NPC">
<npc id="34523" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -461,7 +461,7 @@
<height normal="30.5" />
</collision>
</npc>
<npc id="34524" level="85" type="L2Npc" name="Unused NPC">
<npc id="34524" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -480,7 +480,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34525" level="85" type="L2Npc" name="Unused NPC">
<npc id="34525" level="85" type="Npc" name="Unused NPC">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -499,7 +499,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34526" level="85" type="L2Npc" name="Expedition Teleporter" title="Primeval Isle Explorer">
<npc id="34526" level="85" type="Npc" name="Expedition Teleporter" title="Primeval Isle Explorer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -518,7 +518,7 @@
<height normal="28" />
</collision>
</npc>
<npc id="34527" level="85" type="L2Npc" name="Expedition Guard" title="Primeval Isle Explorer">
<npc id="34527" level="85" type="Npc" name="Expedition Guard" title="Primeval Isle Explorer">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -538,7 +538,7 @@
<height normal="28.5" />
</collision>
</npc>
<npc id="34528" level="85" type="L2Npc" name="Hora" title="Storm Isle Entrance Manager">
<npc id="34528" level="85" type="Npc" name="Hora" title="Storm Isle Entrance Manager">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -558,7 +558,7 @@
<height normal="21.5" />
</collision>
</npc>
<npc id="34529" level="85" type="L2Npc" name="Investigators Teleporter" title="Storm Isle Investigators">
<npc id="34529" level="85" type="Npc" name="Investigators Teleporter" title="Storm Isle Investigators">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -577,7 +577,7 @@
<height normal="23" />
</collision>
</npc>
<npc id="34530" level="85" type="L2Npc" name="Investigators Guard" title="Storm Isle Investigators">
<npc id="34530" level="85" type="Npc" name="Investigators Guard" title="Storm Isle Investigators">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -597,7 +597,7 @@
<height normal="23.5" />
</collision>
</npc>
<npc id="34531" level="85" type="L2Npc" name="Chief Investigator Luria" title="Storm Isle Investigators">
<npc id="34531" level="85" type="Npc" name="Chief Investigator Luria" title="Storm Isle Investigators">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -617,7 +617,7 @@
<height normal="21.5" />
</collision>
</npc>
<npc id="34532" level="85" type="L2Npc" name="Coal Mine Control">
<npc id="34532" level="85" type="Npc" name="Coal Mine Control">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -636,7 +636,7 @@
<height normal="200" />
</collision>
</npc>
<npc id="34533" level="85" type="L2Npc" name="Underground Fortress Control">
<npc id="34533" level="85" type="Npc" name="Underground Fortress Control">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -655,7 +655,7 @@
<height normal="200" />
</collision>
</npc>
<npc id="34534" level="85" type="L2Npc" name="Forgotten Temple Control">
<npc id="34534" level="85" type="Npc" name="Forgotten Temple Control">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -674,7 +674,7 @@
<height normal="200" />
</collision>
</npc>
<npc id="34535" level="85" type="L2Npc" name="Ruins Control">
<npc id="34535" level="85" type="Npc" name="Ruins Control">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -693,7 +693,7 @@
<height normal="200" />
</collision>
</npc>
<npc id="34536" level="85" type="L2Npc" name="Reward Drop">
<npc id="34536" level="85" type="Npc" name="Reward Drop">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -712,7 +712,7 @@
<height normal="200" />
</collision>
</npc>
<npc id="34537" level="85" type="L2Npc" name="Vitality King Golden Pig">
<npc id="34537" level="85" type="Npc" name="Vitality King Golden Pig">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -731,7 +731,7 @@
<height normal="120.75" />
</collision>
</npc>
<npc id="34538" level="85" type="L2Npc" name="Dandy" title="Successful">
<npc id="34538" level="85" type="Npc" name="Dandy" title="Successful">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -750,7 +750,7 @@
<height normal="30" />
</collision>
</npc>
<npc id="34539" level="85" type="L2Npc" name="Mr. Cat">
<npc id="34539" level="85" type="Npc" name="Mr. Cat">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>
@@ -769,7 +769,7 @@
<height normal="16" />
</collision>
</npc>
<npc id="34540" level="85" type="L2Npc" name="Battlefield Manager">
<npc id="34540" level="85" type="Npc" name="Battlefield Manager">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>ETC</race>
<sex>FEMALE</sex>

View File

@@ -194,7 +194,7 @@ public class SkillTreesData implements IXmlReader
if (attr != null)
{
cId = Integer.parseInt(attr.getNodeValue());
classId = ClassId.values()[cId];
classId = ClassId.getClassId(cId);
}
else
{
@@ -219,7 +219,7 @@ public class SkillTreesData implements IXmlReader
parentClassId = Integer.parseInt(attr.getNodeValue());
if ((cId > -1) && (cId != parentClassId) && (parentClassId > -1) && !_parentClassMap.containsKey(classId))
{
_parentClassMap.put(classId, ClassId.values()[parentClassId]);
_parentClassMap.put(classId, ClassId.getClassId(parentClassId));
}
}

View File

@@ -25,5 +25,6 @@ public enum HtmlActionScope
NPC_ITEM_HTML,
NPC_QUEST_HTML,
TUTORIAL_HTML,
COMM_BOARD_HTML
COMM_BOARD_HTML,
PREMIUM_HTML
}

View File

@@ -252,6 +252,17 @@ public class WorldRegion
public void setSurroundingRegions(WorldRegion[] regions)
{
_surroundingRegions = regions;
// Make sure that this region is always the first region to improve bulk operations when this region should be updated first.
for (int i = 0; i < _surroundingRegions.length; i++)
{
if (_surroundingRegions[i] == this)
{
final WorldRegion first = _surroundingRegions[0];
_surroundingRegions[0] = this;
_surroundingRegions[i] = first;
}
}
}
public WorldRegion[] getSurroundingRegions()

View File

@@ -277,6 +277,7 @@ import org.l2jmobius.gameserver.network.serverpackets.EtcStatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.ExAbnormalStatusUpdateFromTarget;
import org.l2jmobius.gameserver.network.serverpackets.ExAdenaInvenCount;
import org.l2jmobius.gameserver.network.serverpackets.ExAlterSkillRequest;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoPlayDoMacro;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoSoulShot;
import org.l2jmobius.gameserver.network.serverpackets.ExBrPremiumState;
import org.l2jmobius.gameserver.network.serverpackets.ExDuelUpdateUserInfo;
@@ -857,6 +858,8 @@ public class PlayerInstance extends Playable
private final Set<Integer> _whisperers = ConcurrentHashMap.newKeySet();
private ScheduledFuture<?> _autoPlayTask = null;
// Selling buffs system
private boolean _isSellingBuffs = false;
private List<SellBuffHolder> _sellingBuffs = null;
@@ -1251,7 +1254,7 @@ public class PlayerInstance extends Playable
public void setBaseClass(ClassId classId)
{
_baseClass = classId.ordinal();
_baseClass = classId.getId();
}
public boolean isInStoreMode()
@@ -14052,4 +14055,61 @@ public class PlayerInstance extends Playable
getVariables().set(ATTENDANCE_INDEX_VAR, rewardIndex);
}
}
public void stopAutoPlayTask()
{
if ((_autoPlayTask != null) && !_autoPlayTask.isCancelled() && !_autoPlayTask.isDone())
{
_autoPlayTask.cancel(true);
}
_autoPlayTask = null;
}
public void startAutoPlayTask(boolean longRange, boolean respectfulHunting)
{
if (_autoPlayTask != null)
{
return;
}
_autoPlayTask = ThreadPool.scheduleAtFixedRate(() ->
{
if ((getTarget() != null) && getTarget().isMonster() && (((MonsterInstance) getTarget()).getTarget() == this) && !((MonsterInstance) getTarget()).isAlikeDead())
{
sendPacket(ExAutoPlayDoMacro.STATIC_PACKET);
return;
}
MonsterInstance monster = null;
double closestDistance = Double.MAX_VALUE;
for (MonsterInstance nearby : World.getInstance().getVisibleObjectsInRange(this, MonsterInstance.class, longRange ? 600 : 1400))
{
if ((nearby == null) || nearby.isAlikeDead())
{
continue;
}
if (respectfulHunting && (nearby.getTarget() != null) && (nearby.getTarget() != this))
{
continue;
}
if (nearby.isAutoAttackable(this) //
&& GeoEngine.getInstance().canSeeTarget(this, nearby)//
&& GeoEngine.getInstance().canMoveToTarget(getX(), getY(), getZ(), nearby.getX(), nearby.getY(), nearby.getZ(), getInstanceWorld()))
{
final double monsterDistance = calculateDistance2D(nearby);
if (monsterDistance < closestDistance)
{
monster = nearby;
closestDistance = monsterDistance;
}
}
}
if (monster != null)
{
setTarget(monster);
sendPacket(ExAutoPlayDoMacro.STATIC_PACKET);
}
}, 0, 2000);
}
}

View File

@@ -16,7 +16,9 @@
*/
package org.l2jmobius.gameserver.model.base;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.l2jmobius.gameserver.enums.Race;
@@ -103,37 +105,6 @@ public enum ClassId implements IIdentifiable
ARTISAN(56, false, Race.DWARF, DWARVEN_FIGHTER),
WARSMITH(57, false, Race.DWARF, ARTISAN),
DUMMY_ENTRY_1(58, false, null, null),
DUMMY_ENTRY_2(59, false, null, null),
DUMMY_ENTRY_3(60, false, null, null),
DUMMY_ENTRY_4(61, false, null, null),
DUMMY_ENTRY_5(62, false, null, null),
DUMMY_ENTRY_6(63, false, null, null),
DUMMY_ENTRY_7(64, false, null, null),
DUMMY_ENTRY_8(65, false, null, null),
DUMMY_ENTRY_9(66, false, null, null),
DUMMY_ENTRY_10(67, false, null, null),
DUMMY_ENTRY_11(68, false, null, null),
DUMMY_ENTRY_12(69, false, null, null),
DUMMY_ENTRY_13(70, false, null, null),
DUMMY_ENTRY_14(71, false, null, null),
DUMMY_ENTRY_15(72, false, null, null),
DUMMY_ENTRY_16(73, false, null, null),
DUMMY_ENTRY_17(74, false, null, null),
DUMMY_ENTRY_18(75, false, null, null),
DUMMY_ENTRY_19(76, false, null, null),
DUMMY_ENTRY_20(77, false, null, null),
DUMMY_ENTRY_21(78, false, null, null),
DUMMY_ENTRY_22(79, false, null, null),
DUMMY_ENTRY_23(80, false, null, null),
DUMMY_ENTRY_24(81, false, null, null),
DUMMY_ENTRY_25(82, false, null, null),
DUMMY_ENTRY_26(83, false, null, null),
DUMMY_ENTRY_27(84, false, null, null),
DUMMY_ENTRY_28(85, false, null, null),
DUMMY_ENTRY_29(86, false, null, null),
DUMMY_ENTRY_30(87, false, null, null),
DUELIST(88, false, Race.HUMAN, GLADIATOR),
DREADNOUGHT(89, false, Race.HUMAN, WARLORD),
PHOENIX_KNIGHT(90, false, Race.HUMAN, PALADIN),
@@ -169,12 +140,7 @@ public enum ClassId implements IIdentifiable
FORTUNE_SEEKER(117, false, Race.DWARF, BOUNTY_HUNTER),
MAESTRO(118, false, Race.DWARF, WARSMITH),
DUMMY_ENTRY_31(119, false, null, null),
DUMMY_ENTRY_32(120, false, null, null),
DUMMY_ENTRY_33(121, false, null, null),
DUMMY_ENTRY_34(122, false, null, null),
MALE_SOLDIER(123, false, Race.KAMAEL, null),
FEMALE_SOLDIER(124, false, Race.KAMAEL, null),
TROOPER(125, false, Race.KAMAEL, MALE_SOLDIER),
@@ -189,10 +155,7 @@ public enum ClassId implements IIdentifiable
TRICKSTER(134, false, Race.KAMAEL, ARBALESTER),
INSPECTOR(135, false, Race.KAMAEL, WARDER),
JUDICATOR(136, false, Race.KAMAEL, INSPECTOR),
DUMMY_ENTRY_35(137, false, null, null),
DUMMY_ENTRY_36(138, false, null, null),
SIGEL_KNIGHT(139, false, null, null),
TYRR_WARRIOR(140, false, null, null),
OTHELL_ROGUE(141, false, null, null),
@@ -201,9 +164,7 @@ public enum ClassId implements IIdentifiable
ISS_ENCHANTER(144, false, null, null),
WYNN_SUMMONER(145, false, null, null),
AEORE_HEALER(146, false, null, null),
DUMMY_ENTRY_37(147, false, null, null),
SIGEL_PHOENIX_KNIGHT(148, false, Race.HUMAN, PHOENIX_KNIGHT),
SIGEL_HELL_KNIGHT(149, false, Race.HUMAN, HELL_KNIGHT),
SIGEL_EVA_TEMPLAR(150, false, Race.ELF, EVA_TEMPLAR),
@@ -269,6 +230,20 @@ public enum ClassId implements IIdentifiable
/** List of available Class for next transfer **/
private final Set<ClassId> _nextClassIds = new HashSet<>(1);
private static Map<Integer, ClassId> _classIdMap = new HashMap<>(ClassId.values().length);
static
{
for (ClassId classId : ClassId.values())
{
_classIdMap.put(classId.getId(), classId);
}
}
public static ClassId getClassId(int cId)
{
return _classIdMap.get(cId);
}
/**
* Class constructor.
* @param pId the class Id.
@@ -363,7 +338,6 @@ public enum ClassId implements IIdentifiable
}
return _parent.childOf(cid);
}
/**
@@ -413,18 +387,6 @@ public enum ClassId implements IIdentifiable
return _nextClassIds;
}
public static ClassId getClassId(int cId)
{
try
{
return ClassId.values()[cId];
}
catch (Exception e)
{
return null;
}
}
private final void addNextClassId(ClassId cId)
{
_nextClassIds.add(cId);

View File

@@ -102,8 +102,11 @@ import org.l2jmobius.gameserver.network.clientpackets.primeshop.RequestBRProduct
import org.l2jmobius.gameserver.network.clientpackets.primeshop.RequestBRRecentProductList;
import org.l2jmobius.gameserver.network.clientpackets.raidbossinfo.RequestRaidBossSpawnInfo;
import org.l2jmobius.gameserver.network.clientpackets.raidbossinfo.RequestRaidServerInfo;
import org.l2jmobius.gameserver.network.clientpackets.ranking.ExRankCharInfo;
import org.l2jmobius.gameserver.network.clientpackets.ranking.ExRankingCharRankers;
import org.l2jmobius.gameserver.network.clientpackets.sayune.RequestFlyMove;
import org.l2jmobius.gameserver.network.clientpackets.sayune.RequestFlyMoveStart;
import org.l2jmobius.gameserver.network.clientpackets.sessionzones.ExTimedHuntingZoneList;
import org.l2jmobius.gameserver.network.clientpackets.shuttle.CannotMoveAnymoreInShuttle;
import org.l2jmobius.gameserver.network.clientpackets.shuttle.MoveToLocationInShuttle;
import org.l2jmobius.gameserver.network.clientpackets.shuttle.RequestShuttleGetOff;
@@ -463,19 +466,19 @@ public enum ExIncomingPackets implements IIncomingPackets<GameClient>
EX_INTERACT_MODIFY(0x15F, null, ConnectionState.IN_GAME), // 152
EX_TRY_ENCHANT_ARTIFACT(0x160, null, ConnectionState.IN_GAME), // 152
EX_XIGN_CODE(0x161, null, ConnectionState.IN_GAME), // 152
EX_OPEN_HTML(0x164, null, ConnectionState.IN_GAME), // 228
EX_OPEN_HTML(0x164, ExOpenDimensionalHtml::new, ConnectionState.IN_GAME), // 228
EX_REQUEST_CLASS_CHANGE(0x165, null, ConnectionState.IN_GAME), // 228
EX_REQUEST_CLASS_CHANGE_VERIFYING(0x166, null, ConnectionState.IN_GAME), // 228
EX_REQUEST_TELEPORT(0x167, ExRequestTeleport::new, ConnectionState.IN_GAME), // 228
EX_COSTUME_COLLECTION_SKILL_ACTIVE(0x16B, null, ConnectionState.IN_GAME), // 228
REQUEST_AUTO_USE_POTION(0x171, null, ConnectionState.IN_GAME), // 228
REQUEST_AUTO_USE(0x177, null, ConnectionState.IN_GAME), // 228
EX_TIME_RESTRICT_FIELD_LIST(0x17F, null, ConnectionState.IN_GAME), // 228
EX_AUTOPLAY_SETTING(0x177, ExAutoPlaySetting::new, ConnectionState.IN_GAME), // 228
EX_TIME_RESTRICT_FIELD_LIST(0x17F, ExTimedHuntingZoneList::new, ConnectionState.IN_GAME), // 228
EX_TIME_RESTRICT_FIELD_USER_ENTER(0x180, null, ConnectionState.IN_GAME), // 228
EX_RANKING_CHAR_INFO(0x181, null, ConnectionState.IN_GAME), // 228
EX_RANKING_CHAR_INFO(0x181, ExRankCharInfo::new, ConnectionState.IN_GAME), // 228
EX_RANKING_CHAR_HISTORY(0x182, null, ConnectionState.IN_GAME), // 228
EX_RANKING_CHAR_RANKERS(0x183, null, ConnectionState.IN_GAME), // 228
EX_RANKING_CHAR_RANKERS(0x183, ExRankingCharRankers::new, ConnectionState.IN_GAME), // 228
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_ATTACKER_LIST(0x186, null, ConnectionState.IN_GAME), // 228
EX_PVP_BOOK_LIST(0x18B, ExPvpBookList::new, ConnectionState.IN_GAME), // 228
EX_LETTER_COLLECTOR_TAKE_REWARD(0x18D, null, ConnectionState.IN_GAME); // 228
public static final ExIncomingPackets[] PACKET_ARRAY;

View File

@@ -801,9 +801,15 @@ public enum OutgoingPackets
EX_SEND_COSTUME_LIST(0xFE, 0x20F), // 228
EX_COSTUME_SHORTCUT_LIST(0xFE, 0x215), // 228
EX_SHOW_TELEPORT_UI(0xFE, 0x219), // 228
EX_PREMIUM_MANAGER_SHOW_HTML(0xFE, 0x21B), // 228
EX_AUTOPLAY_SETTING(0xFE, 0x221), // 228
EX_AUTOPLAY_DO_MACRO(0xFE, 0x222), // 228
EX_TIME_RESTRICT_FIELD_LIST(0xFE, 0x22B), // 228
EX_UNK_225(0xFE, 0x225), // 228
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_HUD_INFO(0xFE, 0x235); // 228
EX_RANKING_CHAR_INFO(0xFE, 0x230), // 228
EX_RANKING_CHAR_RANKERS(0xFE, 0x232), // 228
EX_MERCENARY_CASTLEWAR_CASTLE_SIEGE_HUD_INFO(0xFE, 0x235), // 228
EX_PVPBOOK_LIST(0xFE, 0x23A); // 228
private final int _id1;
private final int _id2;

View File

@@ -0,0 +1,70 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExAutoPlaySettingSend;
/**
* @author Mobius
*/
public class ExAutoPlaySetting implements IClientIncomingPacket
{
private int _options;
private boolean _active;
private boolean _pickUp;
private int _nextTargetMode;
private boolean _longRange;
private int _potionPercent;
private boolean _respectfulHunting;
@Override
public boolean read(GameClient client, PacketReader packet)
{
_options = packet.readH();
_active = packet.readC() == 1;
_pickUp = packet.readC() == 1;
_nextTargetMode = packet.readH();
_longRange = packet.readC() == 0;
_potionPercent = packet.readD();
_respectfulHunting = packet.readC() == 1;
return true;
}
@Override
public void run(GameClient client)
{
final PlayerInstance player = client.getPlayer();
if (player == null)
{
return;
}
player.sendPacket(new ExAutoPlaySettingSend(_options, _active, _pickUp, _nextTargetMode, _longRange, _potionPercent, _respectfulHunting));
if (_active)
{
player.startAutoPlayTask(_longRange, _respectfulHunting);
}
else
{
player.stopAutoPlayTask();
}
}
}

View File

@@ -0,0 +1,52 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.cache.HtmCache;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
/**
* @author Mobius
*/
public class ExOpenDimensionalHtml implements IClientIncomingPacket
{
@Override
public boolean read(GameClient client, PacketReader packet)
{
packet.readC(); // html scope?
return true;
}
@Override
public void run(GameClient client)
{
final PlayerInstance player = client.getPlayer();
if (player == null)
{
return;
}
// FIXME:
// client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/DimensionalMerchant/32478.html")));
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/DimensionalMerchant/32478.html"));
player.sendPacket(html);
}
}

View File

@@ -0,0 +1,39 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.PvpBookList;
/**
* @author JoeAlisson
*/
public class ExPvpBookList implements IClientIncomingPacket
{
@Override
public boolean read(GameClient client, PacketReader packet)
{
return true;
}
@Override
public void run(GameClient client)
{
client.sendPacket(new PvpBookList());
}
}

View File

@@ -0,0 +1,40 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.clientpackets.ranking;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ranking.ExRankingCharInfo;
/**
* @author JoeAlisson
*/
public class ExRankCharInfo implements IClientIncomingPacket
{
@Override
public boolean read(GameClient client, PacketReader packet)
{
return true;
}
@Override
public void run(GameClient client)
{
client.sendPacket(new ExRankingCharInfo());
}
}

View File

@@ -0,0 +1,47 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.clientpackets.ranking;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.ranking.ExRankList;
/**
* @author JoeAlisson
*/
public class ExRankingCharRankers implements IClientIncomingPacket
{
private int _group;
private int _scope;
private int _race;
@Override
public boolean read(GameClient client, PacketReader packet)
{
_group = packet.readC();
_scope = packet.readC();
_race = packet.readD();
return true;
}
@Override
public void run(GameClient client)
{
client.sendPacket(new ExRankList(_group, _scope, _race));
}
}

View File

@@ -0,0 +1,44 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.clientpackets.sessionzones;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.clientpackets.IClientIncomingPacket;
import org.l2jmobius.gameserver.network.serverpackets.timedhunting.TimedHuntingZoneList;
public class ExTimedHuntingZoneList implements IClientIncomingPacket
{
@Override
public boolean read(GameClient client, PacketReader packet)
{
return true;
}
@Override
public void run(GameClient client)
{
final PlayerInstance player = client.getPlayer();
if (player == null)
{
return;
}
client.sendPacket(new TimedHuntingZoneList());
}
}

View File

@@ -0,0 +1,40 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Mobius
*/
public class ExAutoPlayDoMacro implements IClientOutgoingPacket
{
public static final ExAutoPlayDoMacro STATIC_PACKET = new ExAutoPlayDoMacro();
public ExAutoPlayDoMacro()
{
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_AUTOPLAY_DO_MACRO.writeId(packet);
packet.writeD(0x114);
return true;
}
}

View File

@@ -0,0 +1,59 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author JoeAlisson
*/
public class ExAutoPlaySettingSend implements IClientOutgoingPacket
{
private final int _options;
private final boolean _active;
private final boolean _pickUp;
private final int _nextTargetMode;
private final boolean _longRange;
private final int _potionPercent;
private final boolean _respectfulHunting;
public ExAutoPlaySettingSend(int options, boolean active, boolean pickUp, int nextTargetMode, boolean longRange, int potionPercent, boolean respectfulHunting)
{
_options = options;
_active = active;
_pickUp = pickUp;
_nextTargetMode = nextTargetMode;
_longRange = longRange;
_potionPercent = potionPercent;
_respectfulHunting = respectfulHunting;
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_AUTOPLAY_SETTING.writeId(packet);
packet.writeH(_options);
packet.writeC(_active ? 1 : 0);
packet.writeC(_pickUp ? 1 : 0);
packet.writeH(_nextTargetMode);
packet.writeC(_longRange ? 1 : 0);
packet.writeD(_potionPercent);
packet.writeC(_respectfulHunting ? 1 : 0);
return true;
}
}

View File

@@ -0,0 +1,49 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.HtmlActionScope;
import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author JoeAlisson
*/
public class ExPremiumManagerShowHtml extends AbstractHtmlPacket
{
public ExPremiumManagerShowHtml(String html)
{
super(html);
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_PREMIUM_MANAGER_SHOW_HTML.writeId(packet);
packet.writeD(getNpcObjId());
packet.writeS(getHtml());
packet.writeD(-1);
packet.writeD(0);
return true;
}
@Override
public HtmlActionScope getScope()
{
return HtmlActionScope.PREMIUM_HTML;
}
}

View File

@@ -0,0 +1,52 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.serverpackets;
import java.time.LocalDateTime;
import java.time.ZoneId;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.network.OutgoingPackets;
public class PvpBookList implements IClientOutgoingPacket
{
public PvpBookList()
{
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_PVPBOOK_LIST.writeId(packet);
int size = 1;
packet.writeD(4); // show killer's location count
packet.writeD(5); // teleport count
packet.writeD(size); // killer count
for (int i = 0; i < size; i++)
{
packet.writeString("killer" + i); // killer name
packet.writeString("clanKiller" + i); // killer clan name
packet.writeD(15); // killer level
packet.writeD(2); // killer race
packet.writeD(10); // killer class
packet.writeD((int) LocalDateTime.now().atZone(ZoneId.systemDefault()).toEpochSecond()); // kill time
packet.writeC(1); // is online
}
return true;
}
}

View File

@@ -0,0 +1,99 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.serverpackets.ranking;
import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
/**
* @author JoeAlisson
*/
public class ExRankList implements IClientOutgoingPacket
{
private final int _race;
private final int _group;
private final int _scope;
public ExRankList(int group, int scope, int race)
{
_group = group;
_scope = scope;
_race = race;
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_RANKING_CHAR_RANKERS.writeId(packet);
packet.writeC(_group);
packet.writeC(_scope);
packet.writeD(_race);
List<Ranker> rankers = new ArrayList<>();
for (int i = 0; i < 5; i++)
{
addRanker(rankers);
}
packet.writeD(rankers.size());
for (Ranker ranker : rankers)
{
packet.writeString(ranker.name);
packet.writeString(ranker.pledgeName);
packet.writeD(ranker.level);
packet.writeD(ranker.rClass);
packet.writeD(ranker.race);
packet.writeD(ranker.rank);
packet.writeD(ranker.serverRankSnapshot);
packet.writeD(ranker.raceRankSnapshot);
}
return true;
}
private static void addRanker(List<Ranker> rankers)
{
final Ranker ranker = new Ranker();
ranker.name = "Ranker" + rankers.size();
ranker.pledgeName = "ClanRanker" + rankers.size();
ranker.level = 80 - rankers.size();
ranker.race = rankers.size();
ranker.rClass = 20 + rankers.size();
ranker.rank = 1 + rankers.size();
ranker.serverRankSnapshot = ranker.rank + ((rankers.size() % 2) == 0 ? 2 : -1);
ranker.raceRankSnapshot = rankers.size();
rankers.add(ranker);
}
private static class Ranker
{
String name;
String pledgeName;
int level;
int rClass;
int rank;
int race;
int serverRankSnapshot;
int raceRankSnapshot;
}
}

View File

@@ -0,0 +1,44 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.serverpackets.ranking;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
/**
* @author JoeAlisson
*/
public class ExRankingCharInfo implements IClientOutgoingPacket
{
public ExRankingCharInfo()
{
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_RANKING_CHAR_INFO.writeId(packet);
packet.writeD(1); // server rank
packet.writeD(2); // race rank
packet.writeD(2); // server rank snapshot
packet.writeD(1); // race rank snapshot
return true;
}
}

View File

@@ -0,0 +1,111 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.l2jmobius.gameserver.network.serverpackets.timedhunting;
import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
public class TimedHuntingZoneList implements IClientOutgoingPacket
{
public TimedHuntingZoneList()
{
}
@Override
public boolean write(PacketWriter packet)
{
OutgoingPackets.EX_TIME_RESTRICT_FIELD_LIST.writeId(packet);
List<TimeRestrictedFieldInfo> infos = new ArrayList<>();
addField(infos);
packet.writeD(infos.size());
for (TimeRestrictedFieldInfo info : infos)
{
packet.writeD(info.requiredItems.size());
for (FieldRequiredItem item : info.requiredItems)
{
packet.writeD(item.itemId);
packet.writeQ(item.count);
}
packet.writeD(info.resetCycle);
packet.writeD(info.fieldId);
packet.writeD(info.minLevel);
packet.writeD(info.maxLevel);
packet.writeD(info.remainTimeBase);
packet.writeD(info.remainTime);
packet.writeD(info.remainTimeMax);
packet.writeD(info.remainRefillTime);
packet.writeD(info.refillTimeMax);
packet.writeC(info.fieldActivated ? 1 : 0);
}
return true;
}
private void addField(List<TimeRestrictedFieldInfo> infos)
{
final TimeRestrictedFieldInfo field = new TimeRestrictedFieldInfo();
field.resetCycle = 1;
field.fieldId = 2;
field.minLevel = 78;
field.maxLevel = 999;
field.remainTimeBase = 3600;
field.remainTime = 3600;
field.remainTimeMax = 21600;
field.remainRefillTime = 18000;
field.refillTimeMax = 18000;
field.fieldActivated = true;
final FieldRequiredItem item = new FieldRequiredItem();
item.itemId = 57;
item.count = 10000;
field.requiredItems = List.of(item);
infos.add(field);
}
static class TimeRestrictedFieldInfo
{
List<FieldRequiredItem> requiredItems;
int resetCycle;
int fieldId;
int minLevel;
int maxLevel;
int remainTimeBase;
int remainTime;
int remainTimeMax;
int remainRefillTime;
int refillTimeMax;
boolean fieldActivated;
}
static class FieldRequiredItem
{
int itemId;
long count;
}
}