Nightmare Kamaloka.

Contributed by NviX.
This commit is contained in:
MobiusDev
2016-04-15 08:33:21 +00:00
parent b3cb70feb4
commit 9f649e00f2
27 changed files with 968 additions and 224 deletions

View File

@@ -2626,4 +2626,19 @@
<minion id="29011" count="4" respawnTime="360" /> <!-- Susceptor -->
<minion id="29007" count="10" respawnTime="360" /> <!-- Death Knight -->
</npc>
<npc id="26094"> <!-- Sola -->
<minion id="26095" count="2" respawnTime="60" /> <!-- Knife Maid -->
</npc>
<npc id="26096"> <!-- Ariarc -->
<minion id="26097" count="2" respawnTime="60" /> <!-- Angel of Punishment -->
<minion id="26098" count="2" respawnTime="60" /> <!-- Angel of Death -->
</npc>
<npc id="26099"> <!-- Sirra -->
<minion id="26100" count="3" respawnTime="60" /> <!-- Sirra's Knight -->
<minion id="26101" count="1" respawnTime="60" /> <!-- Sirra's Ice Golem -->
</npc>
<npc id="26102"> <!-- Dark Rider -->
<minion id="26103" count="2" respawnTime="60" /> <!-- Berserk Dragon Warrior -->
<minion id="26104" count="2" respawnTime="60" /> <!-- Berserk Dragon Wizard -->
</npc>
</list>

View File

@@ -1,4 +0,0 @@
<html><head><body>Kurtiz<br>
Aren't you in a party? But you are not the party leader. <br>
(Only the party leader can request to enter.)
</body></html>

View File

@@ -1,7 +1,7 @@
<html><body>Captain Kurtiz:<br>
Aden Castle is practically invulnerable, but as well protected as it is, there are more dangers out there for which we might not be ready. My brethren and I have been sending you on adventures into the Kamalokas to test your endurance for that very reason. <br>
But despite the successes, there remains one place that remains unconquered. It is one of my nightmares. If only I could send in someone to conquer it once and for all...<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Chat 0">"Sure, I can do it. I'll go into the Nightmare Kamaloka."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_Quest NightmareKamaloka enter">"Sure, I can do it. I'll go into the Nightmare Kamaloka."</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h npc_%objectId%_TerritoryStatus">"Can you tell me about the local lord and tax rate?"</Button>
<Button ALIGN=LEFT ICON="QUEST" action="bypass -h npc_%objectId%_Quest">Quest</Button>
</body></html>

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<instance name="Nightmare Kamaloka" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
<activityTime val="60" />
<allowSummon val="false" />
<emptyDestroyTime val="300" />
<exitPoint x="147743" y="26718" z="-2200" />
<reenter additionStyle="ON_INSTANCE_FINISH" >
<reset hour="6" minute="30" />
</reenter>
<doorlist>
<door doorId="18170002" />
<door doorId="18170004" />
<door doorId="18170006" />
<door doorId="18170008" />
</doorlist>
<spawnlist>
<group name="general">
<!-- Mino -->
<spawn npcId="26093" x="-43383" y="-16241" z="-12228" heading="0" respawn="0" />
</group>
</spawnlist>
</instance>

View File

@@ -357,6 +357,10 @@ final class MinionSpawnManager extends AbstractNpcAI
NPC.add(25794); // Kernon
NPC.add(25797); // Meanas Anor
NPC.add(25800); // Mammon Collector Talos
NPC.add(26094); // Sola
NPC.add(26096); // Ariarc
NPC.add(26099); // Sirra
NPC.add(26102); // Dark Rider
NPC.add(27036); // Calpico
NPC.add(27041); // Varangka's Messenger
NPC.add(27062); // Tanukia

View File

@@ -51,6 +51,7 @@ import instances.MithrilMine.MithrilMine;
import instances.MonasteryOfSilence1.MonasteryOfSilence1;
import instances.MonasteryOfSilence2.MonasteryOfSilence2;
import instances.MuseumDungeon.MuseumDungeon;
import instances.NightmareKamaloka.NightmareKamaloka;
import instances.NornilsGarden.NornilsGarden;
import instances.PailakaDevilsLegacy.PailakaDevilsLegacy;
import instances.PailakaSongOfIceAndFire.PailakaSongOfIceAndFire;
@@ -99,6 +100,7 @@ final class InstanceLoader
MonasteryOfSilence1.class,
MonasteryOfSilence2.class,
MuseumDungeon.class,
NightmareKamaloka.class,
NornilsGarden.class,
PailakaDevilsLegacy.class,
PailakaSongOfIceAndFire.class,

View File

@@ -0,0 +1,218 @@
/*
* 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 instances.NightmareKamaloka;
import java.util.ArrayList;
import java.util.List;
import com.l2jmobius.gameserver.instancemanager.InstanceManager;
import com.l2jmobius.gameserver.model.L2Party;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.PcCondOverride;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2RaidBossInstance;
import com.l2jmobius.gameserver.model.instancezone.InstanceWorld;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
import com.l2jmobius.gameserver.network.SystemMessageId;
import com.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import com.l2jmobius.gameserver.util.Util;
import instances.AbstractInstance;
import quests.Q00760_BlockTheExit.Q00760_BlockTheExit;
/**
* @author NviX
*/
public final class NightmareKamaloka extends AbstractInstance
{
class NKWorld extends InstanceWorld
{
L2RaidBossInstance sola = null;
L2RaidBossInstance ariarc = null;
L2RaidBossInstance sirra = null;
L2RaidBossInstance dark_rider = null;
final List<L2PcInstance> playersInside = new ArrayList<>();
}
// NPC
private static final int KURTIZ = 30870;
// Bosses & Monsters
private static final int MINO = 26093;
private static final int SOLA = 26094;
private static final int ARIARC = 26096;
private static final int SIRRA = 26099;
private static final int DARK_RIDER = 26102;
// Instance
private static final int TEMPLATE_ID = 258;
// Doors
private static final int DOOR_1 = 18170002;
private static final int DOOR_2 = 18170004;
private static final int DOOR_3 = 18170006;
private static final int DOOR_4 = 18170008;
// Locations
private static final Location START_LOC = new Location(-42921, -16243, -12212);
private static final Location SOLA_SPAWN_LOC = new Location(-45719, -16241, -11965);
private static final Location ARIARC_SPAWN_LOC = new Location(-48055, -16243, -11702);
private static final Location SIRRA_SPAWN_LOC = new Location(-50385, -16240, -11439);
private static final Location DARK_RIDER_SPAWN_LOC = new Location(-54172, -16241, -10995);
public NightmareKamaloka()
{
super(NightmareKamaloka.class.getSimpleName());
addStartNpc(KURTIZ);
addTalkId(KURTIZ);
addKillId(MINO);
addKillId(SOLA);
addKillId(ARIARC);
addKillId(SIRRA);
addKillId(DARK_RIDER);
}
@Override
public void onEnterInstance(L2PcInstance player, InstanceWorld world, boolean firstEntrance)
{
if (firstEntrance)
{
final NKWorld tmpworld = (NKWorld) world;
if (!player.isInParty())
{
tmpworld.addAllowed(player.getObjectId());
tmpworld.playersInside.add(player);
teleportPlayer(player, START_LOC, tmpworld.getInstanceId(), false);
}
else
{
for (L2PcInstance member : player.getParty().getMembers())
{
tmpworld.addAllowed(member.getObjectId());
tmpworld.playersInside.add(member);
teleportPlayer(member, START_LOC, tmpworld.getInstanceId(), false);
}
}
}
else
{
teleportPlayer(player, START_LOC, world.getInstanceId(), false);
}
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
if (event.equals("enter"))
{
enterInstance(player, new NKWorld(), "NightmareKamaloka.xml", TEMPLATE_ID);
}
return super.onAdvEvent(event, npc, player);
}
@Override
protected boolean checkConditions(L2PcInstance player)
{
if (player.canOverrideCond(PcCondOverride.INSTANCE_CONDITIONS))
{
return true;
}
final L2Party party = player.getParty();
if (party == null)
{
player.sendPacket(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER);
return false;
}
if (party.getLeader() != player)
{
player.sendPacket(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER);
return false;
}
for (L2PcInstance member : party.getMembers())
{
if (member.getLevel() < 99)
{
party.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_S_LEVEL_DOES_NOT_CORRESPOND_TO_THE_REQUIREMENTS_FOR_ENTRY).addPcName(member));
return false;
}
if (!Util.checkIfInRange(1000, party.getLeader(), member, true))
{
party.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_IS_IN_A_LOCATION_WHICH_CANNOT_BE_ENTERED_THEREFORE_IT_CANNOT_BE_PROCESSED).addPcName(member));
return false;
}
final Long reenterTime = InstanceManager.getInstance().getInstanceTime(member.getObjectId(), TEMPLATE_ID);
if (System.currentTimeMillis() < reenterTime)
{
party.broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET));
return false;
}
}
return true;
}
@Override
public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
{
final InstanceWorld tmpWorld = InstanceManager.getInstance().getWorld(npc.getInstanceId());
if ((tmpWorld != null) && (tmpWorld instanceof NKWorld))
{
final NKWorld world = (NKWorld) tmpWorld;
switch (npc.getId())
{
case MINO:
{
openDoor(DOOR_1, world.getInstanceId());
world.sola = (L2RaidBossInstance) addSpawn(SOLA, SOLA_SPAWN_LOC, false, 0, true, world.getInstanceId());
break;
}
case SOLA:
{
openDoor(DOOR_2, world.getInstanceId());
world.ariarc = (L2RaidBossInstance) addSpawn(ARIARC, ARIARC_SPAWN_LOC, false, 0, true, world.getInstanceId());
break;
}
case ARIARC:
{
openDoor(DOOR_3, world.getInstanceId());
world.sirra = (L2RaidBossInstance) addSpawn(SIRRA, SIRRA_SPAWN_LOC, false, 0, true, world.getInstanceId());
break;
}
case SIRRA:
{
openDoor(DOOR_4, world.getInstanceId());
world.dark_rider = (L2RaidBossInstance) addSpawn(DARK_RIDER, DARK_RIDER_SPAWN_LOC, false, 0, true, world.getInstanceId());
break;
}
case DARK_RIDER:
{
for (L2PcInstance plr : world.playersInside)
{
if ((plr != null) && (plr.getInstanceId() == world.getInstanceId()))
{
final QuestState qs = plr.getQuestState(Q00760_BlockTheExit.class.getSimpleName());
if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(1))
{
qs.setCond(2);
}
}
}
finishInstance(world);
break;
}
}
}
return super.onKill(npc, killer, isSummon);
}
}

View File

@@ -0,0 +1,6 @@
<html><body>Captain Kurtiz:<br>
Do you know about <font color="LEVEL">Nightmare Kamaloka?</font> It's a place for those who had to leave their homes, waiting for the right moment to go back. <br>
The way to Nightmare Kamaloka is very dangerous and it changes every time, so it's not just for anyone. The reason why people still went though, is because it was a safe place.<br>
Most of those people were fugitives or those whose lives were threatened.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00760_BlockTheExit 30870-2.html">"I see."</button>
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Captain Kurtiz:<br>
Those creatures grew stonger there and whenever the gates opened, they were able to go to the places they wanted.<br>
However, when the <font color="LEVEL">Seal of Punishment</font> was released, it affected multiple dimensions. A lot of things were changed because of that impact, and even Nightmare Kamaloka was affected. I'm not sure about the details, but the various paths to Nightmare Kamaloka stopped working.<br>
The problem is that the dimensional door is linked to a place near Aden.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00760_BlockTheExit 30870-3.html">"I see."</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Captain Kurtiz:<br>
Those creatures in Nightmare Kamaloka have been trying to come out to Aden. That's why we had to plan a battle there. The difference in the dimensions is making it difficult, though. It's because they keep appearing out from the other dimensions, even if we get rid of them.<br>
We have to defeat the creatures from each of the dimensions. In order to do that, we need the help of as many adventurers as possible. Thanks for listening to me.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00760_BlockTheExit 30870-7.html">"I'll help you."</button>
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Captain Kurtiz:<br>
<!--TODO: Find off text.-->
Are you here now? Collect army soldiers and battle finally Nightmare Kamaloka!
</body></html>

View File

@@ -0,0 +1,6 @@
<html><body>Captain Kurtiz:<br>
<!--TODO: Find of text.-->
Oh, you're alive? I am very proud of you and your soldiers that you were able to slay the monsters.<br>
You deserve my reward.<br>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q00760_BlockTheExit 30870-8.html">Get reward!</button>
</body></html>

View File

@@ -0,0 +1,5 @@
<html><body>Captain Kurtiz:<br>
<!--TODO: Find off text.-->
You already told me that you are a brave warrior and got my reward.<br>
(You already complete this quest today.)
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Captain Kurtiz:<br>
I'll tell you again. Please don't let them use Aden as an exit. Go to Nightmare Kamaloka and defeat <font color="LEVEL">Tracker Mino, Ill-fated Princess Sola, Fallen Angel Ariarc, and Confined Princess Sirra</font>, in that order. Lastly, defeat <font color="LEVEL">Betrayed Dark Rider</font>.<br>
The monsters in Nightmare Kamaloka won't be easy to defeat, so make sure to take your friends with you. I won't say thanks until you come back safe and sound.
</body></html>

View File

@@ -0,0 +1,4 @@
<html><body>Captain Kurtiz:<br>
<!--TODO: Find off text.-->
Keep reward. Now all the soldiers will know that you are a brave killer monsters!
</body></html>

View File

@@ -0,0 +1,117 @@
/*
* 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 quests.Q00760_BlockTheExit;
import com.l2jmobius.gameserver.enums.QuestType;
import com.l2jmobius.gameserver.model.actor.L2Npc;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.quest.Quest;
import com.l2jmobius.gameserver.model.quest.QuestState;
import com.l2jmobius.gameserver.model.quest.State;
/**
* @author NviX
*/
public class Q00760_BlockTheExit extends Quest
{
// NPC
private static final int KURTIZ = 30870;
// Monsters
private static final int DARK_RIDER = 26102;
// Items
private static final int CURTIZ_REWARD_BOX = 46560;
// Misc
private static final int MIN_LEVEL = 99;
private static final int MAX_LEVEL = 105;
public Q00760_BlockTheExit()
{
super(760, Q00760_BlockTheExit.class.getSimpleName(), "Block the Exit");
addStartNpc(KURTIZ);
addTalkId(KURTIZ);
addKillId(DARK_RIDER);
addCondMinLevel(MIN_LEVEL, "no_level.html");
addCondMaxLevel(MAX_LEVEL, "no_level.html");
}
@Override
public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
{
final String htmltext = event;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
switch (event)
{
case "30870-7.html":
{
qs.startQuest();
break;
}
case "30870-8.html":
{
giveItems(player, CURTIZ_REWARD_BOX, 1);
qs.exitQuest(QuestType.DAILY, true);
break;
}
}
return htmltext;
}
@Override
public String onTalk(L2Npc npc, L2PcInstance player)
{
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs == null)
{
return htmltext;
}
if (qs.isCreated())
{
htmltext = "30870-1.html";
}
else if (qs.isStarted())
{
if (qs.isCond(1))
{
htmltext = "30870-4.html";
}
else if (qs.isCond(2))
{
htmltext = "30870-5.html";
}
}
else if (qs.isCompleted())
{
if (!qs.isNowAvailable())
{
htmltext = "30870-6.html";
}
else
{
qs.setState(State.CREATED);
htmltext = "30870-1.html";
}
}
return htmltext;
}
}

View File

@@ -0,0 +1,4 @@
<html><body>Kurtiz:<br>
Please, go away.<br>
(This quest is available for characters lvls 99-105.)
</body></html>

View File

@@ -182,6 +182,7 @@ import quests.Q00754_AssistingTheRebelForces.Q00754_AssistingTheRebelForces;
import quests.Q00755_InNeedOfPetras.Q00755_InNeedOfPetras;
import quests.Q00756_TopQualityPetra.Q00756_TopQualityPetra;
import quests.Q00757_TriolsMovement.Q00757_TriolsMovement;
import quests.Q00760_BlockTheExit.Q00760_BlockTheExit;
import quests.Q00901_HowLavasaurusesAreMade.Q00901_HowLavasaurusesAreMade;
import quests.Q00902_ReclaimOurEra.Q00902_ReclaimOurEra;
import quests.Q00903_TheCallOfAntharas.Q00903_TheCallOfAntharas;
@@ -479,6 +480,7 @@ final class QuestMasterHandler
Q00755_InNeedOfPetras.class,
Q00756_TopQualityPetra.class,
Q00757_TriolsMovement.class,
Q00760_BlockTheExit.class,
Q00901_HowLavasaurusesAreMade.class,
Q00902_ReclaimOurEra.class,
Q00903_TheCallOfAntharas.class,

View File

@@ -177,15 +177,16 @@
</item>
<item id="10212" name="For NPC (Bow)" type="Weapon">
<set name="icon" val="icon.weapon_monster_i00" />
<set name="attack_range" val="40" />
<set name="attack_range" val="500" />
<set name="bodypart" val="rhand" />
<set name="commissionItemType" val="BOW" />
<set name="damage_range" val="0;0;40;120" />
<set name="damage_range" val="0;0;10;0" />
<set name="default_action" val="EQUIP" />
<set name="for_npc" val="true" />
<set name="immediate_effect" val="true" />
<set name="material" val="BRONZE" />
<set name="random_damage" val="10" />
<set name="reuse_delay" val="1500" />
<set name="soulshots" val="2" />
<set name="spiritshots" val="2" />
<set name="weapon_type" val="BOW" />

View File

@@ -726,7 +726,8 @@
<item id="46560" name="Curtiz's Reward Box" type="EtcItem">
<!-- Reward box received from Captain Kurtiz for helping him with the monsters of the Nightmare Kamaloka. Double-click to open. -->
<set name="icon" val="icon.etc_box_of_adventure_3_i00" />
<set name="default_action" val="CALL_SKILL" />
<set name="default_action" val="CAPSULE" />
<set name="handler" val="ItemSkills" />
<set name="immediate_effect" val="true" />
<set name="is_auctionable" val="false" />
<set name="is_depositable" val="false" />
@@ -734,6 +735,7 @@
<set name="is_sellable" val="false" />
<set name="is_stackable" val="true" />
<set name="is_tradable" val="false" />
<set name="item_skill" val="18555-1" /> <!-- Curtiz's Reward Box -->
<set name="material" val="PAPER" />
</item>
<item id="46561" name="Blue Dynasty" type="EtcItem">

View File

@@ -4855,135 +4855,214 @@
<height normal="38.7" />
</collision>
</npc>
<npc id="26093" level="99" type="L2RaidBoss" name="Mino" title="Tracker">
<npc id="26093" level="100" type="L2RaidBoss" name="Mino" title="Tracker">
<!-- Source: www.l2wiki.com (2015-04-08) -->
<race>HUMAN</race>
<sex>MALE</sex>
<acquire exp="6782756400" sp="16278615"/>
<stats>
<vitals hp="22320542" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="4799.20533" magical="263.60854" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3806.32183" magical="516.72362" evasion="3" />
<vitals hp="3969272" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="68184" magical="61762" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="6919" magical="8029" evasion="3" />
<attribute>
<defence fire="250" water="250" wind="250" earth="250" holy="210" dark="340" />
<attack type="DARK" value="360" />
<defence fire="350" water="350" wind="300" earth="450" holy="350" dark="350" />
<attack type="EARTH" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<walk ground="30" />
<run ground="150" />
</speed>
</stats>
<status undying="false" />
<skillList>
<skill id="4416" level="6" /> <!-- Humanoids -->
<skill id="5465" level="1" /> <!-- Earth Attack -->
<skill id="4494" level="1" /> <!-- Raid Boss -->
<skill id="16444" level="1" /> <!-- Fatal Slasher -->
<skill id="16451" level="1" /> <!-- Wide Stun -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" isAggressive="false" />
<collision>
<radius normal="40" />
<height normal="49.5" />
</collision>
</npc>
<npc id="26094" level="99" type="L2RaidBoss" name="Sola" title="Ill-fated Princess">
<npc id="26094" level="100" type="L2RaidBoss" name="Sola" title="Ill-fated Princess">
<!-- Source: www.l2wiki.com (2015-04-08) -->
<race>DEMONIC</race>
<sex>FEMALE</sex>
<acquire exp="6782756400" sp="16278615"/>
<stats>
<vitals hp="22320542" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="4799.20533" magical="263.60854" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3806.32183" magical="516.72362" evasion="3" />
<vitals hp="3969272" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="68184" magical="61762" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="6919" magical="8029" evasion="3" />
<attribute>
<defence fire="250" water="250" wind="250" earth="250" holy="210" dark="340" />
<attack type="DARK" value="360" />
<defence fire="350" water="350" wind="350" earth="350" holy="300" dark="450" />
<attack type="DARK" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status undying="false" />
<skillList>
<skill id="4416" level="9" /> <!-- Demons -->
<skill id="5467" level="1" /> <!-- Dark Attack -->
<skill id="4494" level="1" /> <!-- Raid Boss -->
<skill id="16444" level="1" /> <!-- Fatal Slasher -->
<skill id="16445" level="1" /> <!-- Dark Buster -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>SOLA</clan>
</clanList>
</ai>
<collision>
<radius normal="11" />
<height normal="34" />
</collision>
</npc>
<npc id="26095" level="99" type="L2Npc" name="Knife Maid">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<npc id="26095" level="99" type="L2Monster" name="Knife Maid">
<race>HUMAN</race>
<sex>FEMALE</sex>
<stats>
<vitals hp="6163104" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
<attack physical="35408" magical="34602" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="2660" magical="2880" evasion="3" />
<attribute>
<defence fire="350" water="350" wind="350" earth="350" holy="300" dark="450" />
<attack type="DARK" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status attackable="false" />
<status undying="false" />
<skillList>
<skill id="4416" level="9" /> <!-- Demons -->
<skill id="5467" level="1" /> <!-- Dark Attack -->
<skill id="4410" level="16" /> <!-- Very Strong P. Atk -->
<skill id="16444" level="1" /> <!-- Fatal Slasher -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>SOLA</clan>
</clanList>
</ai>
<collision>
<radius normal="14" />
<height normal="28" />
</collision>
</npc>
<npc id="26096" level="99" type="L2RaidBoss" name="Ariarc" title="Fallen Angel">
<npc id="26096" level="100" type="L2RaidBoss" name="Ariarc" title="Fallen Angel">
<!-- Source: www.l2wiki.com (2015-04-08) -->
<race>DIVINE</race>
<sex>FEMALE</sex>
<acquire exp="0" sp="0" />
<sex>MALE</sex>
<acquire exp="12596547600" sp="30231714" />
<stats>
<vitals hp="22320542" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="4799.20533" magical="263.60854" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3806.32183" magical="516.72362" evasion="3" />
<vitals hp="7938542" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="68184" magical="61762" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="6919" magical="8029" evasion="3" />
<attribute>
<defence fire="250" water="250" wind="250" earth="250" holy="210" dark="340" />
<attack type="DARK" value="360" />
<defence fire="350" water="350" wind="350" earth="350" holy="450" dark="300" />
<attack type="HOLY" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status attackable="true" />
<status undying="false" />
<skillList>
<skill id="4416" level="8" /> <!-- Angels -->
<skill id="5466" level="1" /> <!-- Holy Attacks -->
<skill id="4494" level="1" /> <!-- Raid Boss -->
<skill id="16446" level="1" /> <!-- Unholy Blast -->
<skill id="16450" level="1" /> <!-- Mass Fear -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>ARIARC</clan>
</clanList>
</ai>
<collision>
<radius normal="24" />
<height normal="49" />
</collision>
</npc>
<npc id="26097" level="99" type="L2Npc" name="Angel of Punishment">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<npc id="26097" level="99" type="L2Monster" name="Angel of Punishment">
<race>HUMAN</race>
<sex>FEMALE</sex>
<sex>MALE</sex>
<stats>
<vitals hp="6163104" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
<attack physical="35408" magical="34602" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="2660" magical="2880" evasion="3" />
<attribute>
<defence fire="350" water="350" wind="350" earth="350" holy="450" dark="300" />
<attack type="HOLY" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status attackable="false" />
<status undying="false" />
<skillList>
<skill id="4416" level="8" /> <!-- Angels -->
<skill id="5466" level="1" /> <!-- Holy Attacks -->
<skill id="4410" level="16" /> <!-- Very Strong P. Atk -->
<skill id="16446" level="1" /> <!-- Unholy Blast -->
<skill id="16450" level="1" /> <!-- Mass Fear -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>ARIARC</clan>
</clanList>
</ai>
<collision>
<radius normal="14" />
<height normal="33" />
</collision>
</npc>
<npc id="26098" level="99" type="L2Npc" name="Angel of Death">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<npc id="26098" level="99" type="L2Monster" name="Angel of Death">
<race>HUMAN</race>
<sex>FEMALE</sex>
<sex>MALE</sex>
<!-- Invisible bow for temp fix -->
<equipment rhand="10212" /> <!-- rhand: For Npc - Bow -->
<stats>
<vitals hp="6163104" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
<attack physical="35408" magical="34602" random="10" critical="8" accuracy="95" attackSpeed="253" reuseDelay="1500" type="BOW" range="1100" distance="10" width="0" />
<defence physical="2660" magical="2880" evasion="3" />
<attribute>
<defence fire="350" water="350" wind="350" earth="350" holy="450" dark="300" />
<attack type="HOLY" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
<hitTime>710</hitTime>
</stats>
<status attackable="false" />
<status undying="false" />
<skillList>
<skill id="4416" level="8" /> <!-- Angels -->
<skill id="5466" level="1" /> <!-- Holy Attacks -->
<skill id="4410" level="16" /> <!-- Very Strong P. Atk -->
<skill id="16205" level="4" /> <!-- Burst Shot -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="ARCHER" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>ARIARC</clan>
</clanList>
</ai>
<collision>
<radius normal="14" />
<height normal="33" />
@@ -4993,25 +5072,34 @@
<!-- Source: www.l2wiki.com (2015-04-08) -->
<race>ELEMENTAL</race>
<sex>FEMALE</sex>
<acquire exp="0" sp="0" />
<acquire exp="12596547600" sp="30231714" />
<stats>
<vitals hp="22320542" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="4799.20533" magical="263.60854" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3806.32183" magical="516.72362" evasion="3" />
<vitals hp="7938542" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="68184" magical="61762" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="6919" magical="8029" evasion="3" />
<attribute>
<defence fire="250" water="250" wind="250" earth="250" holy="210" dark="340" />
<attack type="DARK" value="360" />
<defence fire="300" water="450" wind="350" earth="350" holy="350" dark="350" />
<attack type="WATER" value="450" />
</attribute>
<speed>
<walk ground="60" /> <!-- Need retail value -->
<run ground="120" /> <!-- Need retail value -->
<run ground="150" /> <!-- Need retail value -->
</speed>
</stats>
<status attackable="true" />
<status undying="false" />
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>SIRRA</clan>
</clanList>
</ai>
<skillList>
<skill id="4416" level="7" /> <!-- Spirits -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="4494" level="1" /> <!-- Raid Boss -->
<skill id="16448" level="1" /> <!-- Mass Airbind -->
<skill id="16449" level="1" /> <!-- Mass Hold -->
<skill id="16445" level="1" /> <!-- Dark Buster -->
</skillList>
<collision>
<radius normal="16" />

View File

@@ -1,50 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../xsd/npcs.xsd">
<npc id="26100" level="99" type="L2Npc" name="Sirra's Knight">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<npc id="26100" level="99" type="L2Monster" name="Sirra's Knight">
<race>HUMAN</race>
<sex>FEMALE</sex>
<sex>MALE</sex>
<stats>
<vitals hp="6163104" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
<attack physical="35408" magical="34602" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="2660" magical="2880" evasion="3" />
<attribute>
<defence fire="300" water="450" wind="350" earth="350" holy="350" dark="350" />
<attack type="WATER" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status attackable="false" />
<status undying="false" />
<skillList>
<skill id="4416" level="6" /> <!-- Humanoids -->
<skill id="5463" level="1" /> <!-- Water Attacks -->
<skill id="4410" level="16" /> <!-- Very Strong P. Atk -->
<skill id="4412" level="16" /> <!-- Very Strong P. Def -->
<skill id="4413" level="16" /> <!-- Very Strong M. Def -->
<skill id="16444" level="1" /> <!-- Fatal Slasher -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>SIRRA</clan>
</clanList>
</ai>
<collision>
<radius normal="9.5" />
<height normal="31" />
</collision>
</npc>
<npc id="26101" level="99" type="L2Npc" name="Sirra's Ice Golem">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<race>HUMAN</race>
<sex>FEMALE</sex>
<npc id="26101" level="99" type="L2Monster" name="Sirra's Ice Golem">
<race>ELEMENTAL</race>
<sex>MALE</sex>
<stats>
<vitals hp="6163104" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
<attack physical="35408" magical="34602" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="2660" magical="2880" evasion="3" />
<attribute>
<defence fire="300" water="450" wind="350" earth="350" holy="350" dark="350" />
<attack type="WATER" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status attackable="false" />
<status undying="false" />
<skillList>
<skill id="4416" level="7" /> <!-- Spirits -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="4411" level="14" /> <!-- Strong M. Atk -->
<skill id="4412" level="16" /> <!-- Very Strong P. Def -->
<skill id="4413" level="16" /> <!-- Very Strong M. Def -->
<skill id="16445" level="1" /> <!-- Dark Buster -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>SIRRA</clan>
</clanList>
</ai>
<collision>
<radius normal="20" />
<height normal="50" />
</collision>
</npc>
<npc id="26102" level="99" type="L2RaidBoss" name="Dark Rider" title="Betrayed">
<!-- Source: www.l2wiki.com (2015-04-08) -->
<npc id="26102" level="101" type="L2RaidBoss" name="Dark Rider" title="Betrayed">
<race>DRAGON</race>
<acquire exp="1121587236" sp="1794539" raidPoints="1"/>
<sex>MALE</sex>
<acquire exp="58137911944" sp="139530988" raidPoints="7"/>
<stats>
<vitals hp="63772973" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="4799.20533" magical="263.60854" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3806.32183" magical="516.72362" evasion="3" />
<vitals hp="7938542" hpRegen="10.5" mp="47100" mpRegen="3.6" />
<attack physical="68184" magical="61762" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="6919" magical="8029" evasion="3" />
<attribute>
<defence fire="340" water="210" wind="250" earth="250" holy="250" dark="250" />
<attack type="FIRE" value="360" />
<defence fire="450" water="300" wind="350" earth="350" holy="350" dark="350" />
<attack type="FIRE" value="450" />
</attribute>
<speed>
<walk ground="120" />
@@ -54,107 +92,104 @@
</stats>
<status undying="false" noSleepMode="true" attackable="true" />
<skillList>
<skill id="4279" level="1" />
<skill id="4299" level="1" />
<skill id="4416" level="10" /> <!-- Dragons -->
<skill id="5462" level="1" /> <!-- Fire Attack -->
<skill id="4494" level="1" /> <!-- Raid Boss -->
<skill id="16444" level="1" /> <!-- Fatal Slasher -->
<skill id="16450" level="1" /> <!-- Mass Fear -->
<skill id="16451" level="1" /> <!-- Wide Stun -->
<skill id="16574" level="1" /> <!-- Shield of Infinity --> <!-- 4 lvls, need done -->
</skillList>
<ai type="BALANCED" aggroRange="600" clanHelpRange="300" isAggressive="false" />
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>DARKRIDER</clan>
</clanList>
</ai>
<dropLists>
<death>
<item id="35328" min="1" max="1" chance="1.787" /> <!-- Amaranthine Cutter Fragment -->
<item id="35456" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Stormer (60%) -->
<item id="35329" min="1" max="1" chance="1.736" /> <!-- Amaranthine Slasher Fragment -->
<item id="35457" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Thrower (60%) -->
<item id="35330" min="1" max="1" chance="1.723" /> <!-- Amaranthine Avenger Fragment -->
<item id="35458" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Shooter (60%) -->
<item id="35331" min="1" max="1" chance="1.8304" /> <!-- Amaranthine Fighter Fragment -->
<item id="35459" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Buster (60%) -->
<item id="35332" min="1" max="1" chance="1.813" /> <!-- Amaranthine Stormer Fragment -->
<item id="35460" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Caster (60%) -->
<item id="35333" min="1" max="1" chance="1.741" /> <!-- Amaranthine Thrower Fragment -->
<item id="35461" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Retributer (60%) -->
<item id="35334" min="1" max="1" chance="1.8555" /> <!-- Amaranthine Shooter Fragment -->
<item id="35462" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Helmet (60%) -->
<item id="35335" min="1" max="1" chance="1.798" /> <!-- Amaranthine Buster Fragment -->
<item id="35463" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Breastplate (60%) -->
<item id="35336" min="1" max="1" chance="1.796" /> <!-- Amaranthine Caster Fragment -->
<item id="35464" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Gaiters (60%) -->
<item id="35337" min="1" max="1" chance="1.763" /> <!-- Amaranthine Retributer Fragment -->
<item id="35465" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Gauntlets (60%) -->
<item id="35338" min="1" max="1" chance="1.748" /> <!-- Eternal Helmet Ingredient -->
<item id="35466" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Boots (60%) -->
<item id="35339" min="1" max="1" chance="1.8384" /> <!-- Eternal Breastplate Ingredient -->
<item id="35467" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Shield (60%) -->
<item id="35340" min="1" max="1" chance="1.771" /> <!-- Eternal Gaiter Ingredient -->
<item id="35468" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Leather Helmet (60%) -->
<item id="35341" min="1" max="1" chance="1.726" /> <!-- Eternal Gauntlet Ingredient -->
<item id="35469" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Leather Armor (60%) -->
<item id="35342" min="1" max="1" chance="1.812" /> <!-- Eternal Boot Ingredient -->
<item id="35470" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Leather Leggings (60%) -->
<item id="35343" min="1" max="1" chance="1.8384" /> <!-- Eternal Shield Ingredient -->
<item id="35471" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Leather Gloves (60%) -->
<item id="35344" min="1" max="1" chance="1.731" /> <!-- Eternal Leather Helmet Ingredient -->
<item id="35472" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Leather Boots (60%) -->
<item id="35345" min="1" max="1" chance="1.825" /> <!-- Eternal Leather Armor Ingredient -->
<item id="35473" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Circlet (60%) -->
<item id="35346" min="1" max="1" chance="1.82" /> <!-- Eternal Leather Legging Ingredient -->
<item id="35474" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Tunic (60%) -->
<item id="35347" min="1" max="1" chance="1.8265" /> <!-- Eternal Leather Glove Ingredient -->
<item id="35475" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Stockings (60%) -->
<item id="35348" min="1" max="1" chance="1.718" /> <!-- Eternal Leather Boot Ingredient -->
<item id="35476" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Gloves (60%) -->
<item id="35349" min="1" max="1" chance="1.8345" /> <!-- Eternal Circlet Ingredient -->
<item id="35477" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Shoes (60%) -->
<item id="35350" min="1" max="1" chance="1.793" /> <!-- Eternal Tunic Ingredient -->
<item id="35478" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Eternal Sigil (60%) -->
<item id="35351" min="1" max="1" chance="1.731" /> <!-- Eternal Stocking Ingredient -->
<item id="45463" min="1" max="1" chance="0.3" /> <!-- Entrance Pass: Infinite Depths -->
<item id="35352" min="1" max="1" chance="1.756" /> <!-- Eternal Glove Ingredient -->
<item id="35353" min="1" max="1" chance="1.777" /> <!-- Eternal Shoe Ingredient -->
<item id="35354" min="1" max="1" chance="1.723" /> <!-- Eternal Sigil Ingredient -->
<item id="38043" min="1" max="1" chance="0.03" /> <!-- Amaranthine Shaper Crafting Pack -->
<item id="38044" min="1" max="1" chance="0.03" /> <!-- Amaranthine Cutter Crafting Pack -->
<item id="38045" min="1" max="1" chance="0.03" /> <!-- Amaranthine Slasher Crafting Pack -->
<item id="38046" min="1" max="1" chance="0.03" /> <!-- Amaranthine Avenger Crafting Pack -->
<item id="38047" min="1" max="1" chance="0.03" /> <!-- Amaranthine Fighter Crafting Pack -->
<item id="38048" min="1" max="1" chance="0.03" /> <!-- Amaranthine Stormer Crafting Pack -->
<item id="17697" min="1" max="1" chance="0.3" /> <!-- Lv. 5 Giant STR Dye STR +5 -->
<item id="38049" min="1" max="1" chance="0.03" /> <!-- Amaranthine Thrower Crafting Pack -->
<item id="17698" min="1" max="1" chance="0.3" /> <!-- Lv. 5 Giant DEX Dye DEX +5 -->
<item id="38050" min="1" max="1" chance="0.03" /> <!-- Amaranthine Shooter Crafting Pack -->
<item id="17699" min="1" max="1" chance="0.3" /> <!-- Lv. 5 Giant CON Dye CON +5 -->
<item id="38051" min="1" max="1" chance="0.03" /> <!-- Amaranthine Buster Crafting Pack -->
<item id="17700" min="1" max="1" chance="0.3" /> <!-- Lv. 5 Giant INT Dye INT +5 -->
<item id="38052" min="1" max="1" chance="0.03" /> <!-- Amaranthine Caster Crafting Pack -->
<item id="17701" min="1" max="1" chance="0.3" /> <!-- Lv. 5 Giant WIT Dye Wit +5 -->
<item id="38053" min="1" max="1" chance="0.03" /> <!-- Amaranthine Retributer Crafting Pack -->
<item id="17702" min="1" max="1" chance="0.3" /> <!-- Lv. 5 Giant MEN Dye Men +5 -->
<item id="38054" min="1" max="1" chance="0.075" /> <!-- Eternal Helmet Crafting Pack Heavy Armor -->
<item id="38055" min="1" max="1" chance="0.075" /> <!-- Eternal Breastplate Crafting Pack Heavy Armor -->
<item id="38056" min="1" max="1" chance="0.075" /> <!-- Eternal Gaiters Crafting Pack Heavy Armor -->
<item id="38057" min="1" max="1" chance="0.075" /> <!-- Eternal Gauntlets Crafting Pack Heavy Armor -->
<item id="38058" min="1" max="1" chance="0.075" /> <!-- Eternal Boots Crafting Pack Heavy Armor -->
<item id="38059" min="1" max="1" chance="0.075" /> <!-- Eternal Shield Crafting Pack Heavy Armor -->
<item id="38060" min="1" max="1" chance="0.075" /> <!-- Eternal Leather Helmet Crafting Pack Light Armor -->
<item id="38061" min="1" max="1" chance="0.075" /> <!-- Eternal Leather Armor Crafting Pack Light Armor -->
<item id="38062" min="1" max="1" chance="0.075" /> <!-- Eternal Leather Leggings Crafting Pack Light Armor -->
<item id="38063" min="1" max="1" chance="0.075" /> <!-- Eternal Leather Gloves Crafting Pack Light Armor -->
<item id="38064" min="1" max="1" chance="0.075" /> <!-- Eternal Leather Boots Crafting Pack Light Armor -->
<item id="38065" min="1" max="1" chance="0.075" /> <!-- Eternal Circlet Crafting Pack Robe -->
<item id="38066" min="1" max="1" chance="0.075" /> <!-- Eternal Tunic Crafting Pack Robe -->
<item id="38067" min="1" max="1" chance="0.075" /> <!-- Eternal Stockings Crafting Pack Robe -->
<item id="38068" min="1" max="1" chance="0.075" /> <!-- Eternal Gloves Crafting Pack Robe -->
<item id="38069" min="1" max="1" chance="0.075" /> <!-- Eternal Shoes Crafting Pack Robe -->
<item id="38070" min="1" max="1" chance="0.075" /> <!-- Eternal Sigil Crafting Pack Robe -->
<item id="36574" min="1" max="1" chance="48.8" /> <!-- Scroll: Modify Weapon (R-grade) -->
<item id="36586" min="1" max="1" chance="50" /> <!-- Scroll: Modify Armor (R-grade) -->
<item id="17526" min="1" max="1" chance="19.50989" /> <!-- Scroll: Enchant Weapon (R-grade) -->
<item id="17527" min="1" max="1" chance="50" /> <!-- Scroll: Enchant Armor (R-grade) -->
<item id="35451" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Shaper (60%) -->
<item id="35452" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Cutter (60%) -->
<item id="35453" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Slasher (60%) -->
<item id="35454" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Avenger (60%) -->
<item id="35327" min="1" max="1" chance="1.812" /> <!-- Amaranthine Shaper Fragment -->
<item id="35455" min="1" max="1" chance="0.3" /> <!-- Recipe:Β Amaranthine Fighter (60%) -->
<item id="17526" min="1" max="1" chance="20.5" /> <!-- Scroll: Enchant Weapon (R-grade) -->
<item id="17527" min="1" max="1" chance="79.5" /> <!-- Scroll: Enchant Armor (R-grade) -->
<item id="35327" min="1" max="1" chance="1.8" /> <!-- Amaranthine Shaper Fragment -->
<item id="35328" min="1" max="1" chance="1.8" /> <!-- Amaranthine Cutter Fragment -->
<item id="35329" min="1" max="1" chance="1.8" /> <!-- Amaranthine Slasher Fragment -->
<item id="35330" min="1" max="1" chance="1.8" /> <!-- Amaranthine Avenger Fragment -->
<item id="35331" min="1" max="1" chance="1.8" /> <!-- Amaranthine Fighter Fragment -->
<item id="35332" min="1" max="1" chance="1.8" /> <!-- Amaranthine Stormer Fragment -->
<item id="35333" min="1" max="1" chance="1.8" /> <!-- Amaranthine Thrower Fragment -->
<item id="35334" min="1" max="1" chance="1.8" /> <!-- Amaranthine Shooter Fragment -->
<item id="35335" min="1" max="1" chance="1.8" /> <!-- Amaranthine Buster Fragment -->
<item id="35336" min="1" max="1" chance="1.8" /> <!-- Amaranthine Caster Fragment -->
<item id="35337" min="1" max="1" chance="1.8" /> <!-- Amaranthine Retributer Fragment -->
<item id="35451" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Shaper (60%) -->
<item id="35452" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Cutter (60%) -->
<item id="35453" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Slasher (60%) -->
<item id="35454" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Avenger (60%) -->
<item id="35455" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Fighter (60%) -->
<item id="35456" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Stormer (60%) -->
<item id="35457" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Thrower (60%) -->
<item id="35458" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Shooter (60%) -->
<item id="35459" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Buster (60%) -->
<item id="35460" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Caster (60%) -->
<item id="35461" min="1" max="1" chance="1.3" /> <!-- Recipe: Amaranthine Retributer (60%) -->
<item id="35338" min="1" max="1" chance="1.8" /> <!-- Eternal Helmet Ingredient -->
<item id="35339" min="1" max="1" chance="1.8" /> <!-- Eternal Breastplate Ingredient -->
<item id="35340" min="1" max="1" chance="1.8" /> <!-- Eternal Gaiter Ingredient -->
<item id="35341" min="1" max="1" chance="1.8" /> <!-- Eternal Gauntlet Ingredient -->
<item id="35342" min="1" max="1" chance="1.8" /> <!-- Eternal Boot Ingredient -->
<item id="35343" min="1" max="1" chance="1.8" /> <!-- Eternal Shield Ingredient -->
<item id="35344" min="1" max="1" chance="1.8" /> <!-- Eternal Leather Helmet Ingredient -->
<item id="35345" min="1" max="1" chance="1.8" /> <!-- Eternal Leather Armor Ingredient -->
<item id="35346" min="1" max="1" chance="1.8" /> <!-- Eternal Leather Legging Ingredient -->
<item id="35347" min="1" max="1" chance="1.8" /> <!-- Eternal Leather Glove Ingredient -->
<item id="35348" min="1" max="1" chance="1.8" /> <!-- Eternal Leather Boot Ingredient -->
<item id="35349" min="1" max="1" chance="1.8" /> <!-- Eternal Circlet Ingredient -->
<item id="35350" min="1" max="1" chance="1.8" /> <!-- Eternal Tunic Ingredient -->
<item id="35351" min="1" max="1" chance="1.8" /> <!-- Eternal Stocking Ingredient -->
<item id="35352" min="1" max="1" chance="1.8" /> <!-- Eternal Glove Ingredient -->
<item id="35353" min="1" max="1" chance="1.8" /> <!-- Eternal Shoe Ingredient -->
<item id="35354" min="1" max="1" chance="1.8" /> <!-- Eternal Sigil Ingredient -->
<item id="35462" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Helmet (60%) -->
<item id="35463" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Breastplate (60%) -->
<item id="35464" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Gaiters (60%) -->
<item id="35465" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Gauntlets (60%) -->
<item id="35466" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Boots (60%) -->
<item id="35467" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Shield (60%) -->
<item id="35468" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Leather Helmet (60%) -->
<item id="35469" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Leather Armor (60%) -->
<item id="35470" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Leather Leggings (60%) -->
<item id="35471" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Leather Gloves (60%) -->
<item id="35472" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Leather Boots (60%) -->
<item id="35473" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Circlet (60%) -->
<item id="35474" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Tunic (60%) -->
<item id="35475" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Stockings (60%) -->
<item id="35476" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Gloves (60%) -->
<item id="35477" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Shoes (60%) -->
<item id="35478" min="1" max="1" chance="0.3" /> <!-- Recipe: Eternal Sigil (60%) -->
<item id="46475" min="1" max="1" chance="0.075" /> <!-- Leona's Soul Crystal - Stage 2 -->
<item id="46490" min="1" max="1" chance="0.075" /> <!-- Pantheon's Soul Crystal - Stage 2 -->
<item id="46505" min="1" max="1" chance="0.075" /> <!-- Lionel's Soul Crystal - Stage 2 -->
<item id="46476" min="1" max="1" chance="0.075" /> <!-- Leona's Soul Crystal - Stage 3 -->
<item id="46491" min="1" max="1" chance="0.075" /> <!-- Pantheon's Soul Crystal - Stage 3 -->
<item id="46506" min="1" max="1" chance="0.075" /> <!-- Lionel's Soul Crystal - Stage 3 -->
<item id="46477" min="1" max="1" chance="0.03" /> <!-- Leona's Soul Crystal - Stage 4 -->
<item id="46492" min="1" max="1" chance="0.03" /> <!-- Pantheon's Soul Crystal - Stage 4 -->
<item id="46507" min="1" max="1" chance="0.03" /> <!-- Lionel's Soul Crystal - Stage 4 -->
<item id="46445" min="1" max="1" chance="0.03" /> <!-- Kain's Soul Crystal - Stage 2 -->
<item id="46460" min="1" max="1" chance="0.03" /> <!-- Mermoden's Soul Crystal - Stage 2 -->
<item id="46446" min="1" max="1" chance="0.03" /> <!-- Kain's Soul Crystal - Stage 3 -->
<item id="46461" min="1" max="1" chance="0.03" /> <!-- Mermoden's Soul Crystal - Stage 3 -->
<item id="46447" min="1" max="1" chance="0.03" /> <!-- Kain's Soul Crystal - Stage 4 -->
<item id="46462" min="1" max="1" chance="0.03" /> <!-- Mermoden's Soul Crystal - Stage 4 -->
<item id="46478" min="1" max="1" chance="0.03" /> <!-- Leona's Soul Crystal - Stage 5 -->
<item id="46493" min="1" max="1" chance="0.03" /> <!-- Pantheon's Soul Crystal - Stage 5 -->
<item id="46508" min="1" max="1" chance="0.03" /> <!-- Lionel's Soul Crystal - Stage 5 -->
<item id="46448" min="1" max="1" chance="0.03" /> <!-- Kain's Soul Crystal - Stage 5 -->
<item id="46463" min="1" max="1" chance="0.03" /> <!-- Mermoden's Soul Crystal - Stage 5 -->
<item id="46479" min="1" max="1" chance="0.0075" /> <!-- Leona's Soul Crystal - Stage 6 -->
<item id="46494" min="1" max="1" chance="0.0075" /> <!-- Pantheon's Soul Crystal - Stage 6 -->
<item id="46509" min="1" max="1" chance="0.0075" /> <!-- Lionel's Soul Crystal - Stage 6 -->
<item id="46449" min="1" max="1" chance="0.003" /> <!-- Kain's Soul Crystal - Stage 6 -->
<item id="46464" min="1" max="1" chance="0.003" /> <!-- Mermoden's Soul Crystal - Stage 6 -->
</death>
</dropLists>
<collision>
@@ -162,35 +197,73 @@
<height normal="51" />
</collision>
</npc>
<npc id="26103" level="99" type="L2Npc" name="Berserk Dragon Warrior">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<npc id="26103" level="99" type="L2Monster" name="Berserk Dragon Warrior">
<race>HUMAN</race>
<sex>FEMALE</sex>
<sex>MALE</sex>
<stats>
<vitals hp="6163104" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
<attack physical="35408" magical="34602" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="2660" magical="2880" evasion="3" />
<attribute>
<defence fire="450" water="300" wind="350" earth="350" holy="450" dark="350" />
<attack type="FIRE" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status attackable="false" />
<status undying="false" />
<skillList>
<skill id="4416" level="10" /> <!-- Dragons -->
<skill id="5462" level="1" /> <!-- Fire Attack -->
<skill id="4410" level="16" /> <!-- Very Strong P. Atk -->
<skill id="4412" level="16" /> <!-- Very Strong P. Def -->
<skill id="4413" level="16" /> <!-- Very Strong M. Def -->
<skill id="16444" level="1" /> <!-- Fatal Slasher -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>DARKRIDER</clan>
</clanList>
</ai>
<collision>
<radius normal="50" />
<height normal="55" />
</collision>
</npc>
<npc id="26104" level="99" type="L2Npc" name="Berserk Dragon Wizard">
<!-- AUTO GENERATED NPC TODO: FIX IT -->
<npc id="26104" level="99" type="L2Monster" name="Berserk Dragon Wizard">
<race>HUMAN</race>
<sex>FEMALE</sex>
<sex>MALE</sex>
<stats>
<vitals hp="6163104" hpRegen="7.5" mp="1345.8" mpRegen="2.7" />
<attack physical="35408" magical="34602" random="30" critical="4" accuracy="95" attackSpeed="253" type="SWORD" range="40" distance="80" width="120" />
<defence physical="2660" magical="2880" evasion="3" />
<attribute>
<defence fire="450" water="300" wind="350" earth="350" holy="450" dark="350" />
<attack type="FIRE" value="450" />
</attribute>
<speed>
<walk ground="50" />
<run ground="120" />
<run ground="150" />
</speed>
</stats>
<status attackable="false" />
<status undying="false" />
<skillList>
<skill id="4416" level="10" /> <!-- Dragons -->
<skill id="5462" level="1" /> <!-- Fire Attack -->
<skill id="4411" level="14" /> <!-- Strong M. Atk -->
<skill id="4412" level="16" /> <!-- Very Strong P. Def -->
<skill id="4413" level="16" /> <!-- Very Strong M. Def -->
<skill id="16445" level="1" /> <!-- Dark Buster -->
</skillList>
<exCrtEffect>true</exCrtEffect>
<ai type="BALANCED" clanHelpRange="1000" isAggressive="false">
<clanList>
<clan>DARKRIDER</clan>
</clanList>
</ai>
<collision>
<radius normal="28" />
<height normal="39.5" />

View File

@@ -55,14 +55,24 @@
<set name="reuseDelay" val="5000" />
</skill>
<skill id="16205" levels="4" name="Burst Shot">
<!-- AUTO GENERATED SKILL -->
<set name="icon" val="icon.skill0000" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<set name="mpConsume" val="1" />
<set name="castRange" val="900" />
<set name="mpConsume" val="167" />
<set name="power" val="39474" />
<set name="magicLvl" val="100" />
<set name="targetType" val="FRONT_AREA" />
<set name="affectLimit" val="5-12" />
<set name="affectRange" val="250" />
<set name="baseCritRate" val="15" />
<set name="overHit" val="true" />
<set name="hitTime" val="2000" />
<set name="coolTime" val="1000" />
<set name="castRange" val="1100" />
<set name="effectRange" val="1600" />
<set name="reuseDelay" val="10000" />
<set name="effectPoint" val="-100" /> <!-- Need verify -->
<set name="operateType" val="ACTIVE_INSTANT" />
<for>
<effect name="PhysicalAttack" />
</for>
</skill>
<skill id="16206" levels="4" name="Holy Spike">
<!-- AUTO GENERATED SKILL -->

View File

@@ -424,24 +424,65 @@
</skill>
<!-- none -->
<skill id="16444" levels="1" name="Fatal Slasher">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<!-- Temp stats, need fix. -->
<set name="castRange" val="40" />
<set name="coolTime" val="500" />
<set name="effectPoint" val="-574" />
<set name="effectRange" val="400" />
<set name="hitTime" val="3000" />
<set name="magicLvl" val="100" />
<set name="mpConsume" val="121" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<set name="power" val="24563" />
<set name="reuseDelay" val="10000" />
<set name="rideState" val="NONE" />
<set name="targetType" val="ONE" />
<for>
<effect name="PhysicalAttack" />
</for>
</skill>
<!-- none -->
<skill id="16445" levels="1" name="Dark Buster">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<!-- Temp stats, need fix. -->
<set name="affectRange" val="180" />
<set name="castRange" val="40" />
<set name="coolTime" val="500" />
<set name="effectPoint" val="-100" />
<set name="effectRange" val="400" />
<set name="element" val="5" /> <!-- Dark -->
<set name="elementPower" val="20" />
<set name="hitTime" val="2000" />
<set name="isMagic" val="1" /> <!-- Magic Skill -->
<set name="magicLvl" val="100" />
<set name="mpConsume" val="88" />
<set name="mpInitialConsume" val="22" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<set name="power" val="328" />
<set name="reuseDelay" val="20000" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="AREA" />
<for>
<effect name="MagicalAttack" />
</for>
</skill>
<!-- none -->
<skill id="16446" levels="1" name="Unholy Blast">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<!-- Temp stats, need fix. -->
<set name="castRange" val="40" />
<set name="effectPoint" val="-100" />
<set name="effectRange" val="400" />
<set name="element" val="4" /> <!-- Holy -->
<set name="elementPower" val="20" />
<set name="isMagic" val="1" /> <!-- Magic Skill -->
<set name="magicLvl" val="100" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<set name="power" val="385" />
<set name="reuseDelay" val="10000" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="ONE" />
<for>
<effect name="MagicalAttack" />
</for>
</skill>
<!-- Poisoned. HP momentarily decreases. Power 14. -->
<skill id="16447" levels="1" name="Mass Poison">
@@ -452,31 +493,118 @@
</skill>
<!-- Throws nearby enemies into the air and binds them for 10 sec. -->
<skill id="16448" levels="1" name="Mass Airbind">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<!-- Temp stats, need fix. -->
<set name="hitTime" val="1500" />
<set name="coolTime" val="500" />
<set name="castRange" val="1100" />
<set name="reuseDelay" val="120000" />
<set name="abnormalTime" val="9" />
<set name="effectPoint" val="-1" />
<set name="isMagic" val="1" /> <!-- Magic Skill -->
<set name="mpConsume" val="86" />
<set name="magicLvl" val="100" />
<set name="effectRange" val="1100" />
<set name="isDebuff" val="true" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<set name="power" val="95" />
<set name="activateRate" val="70" />
<set name="targetType" val="AREA" />
<for>
<effect name="ThrowUp" />
</for>
</skill>
<!-- Casts Hold on target and nearby enemies for 10 sec. -->
<skill id="16449" levels="1" name="Mass Hold">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<!-- Temp stats, need fix. -->
<set name="affectRange" val="600" />
<set name="abnormalLvl" val="1" />
<set name="abnormalTime" val="5" />
<set name="abnormalType" val="ROOT_MAGICALLY" />
<set name="abnormalVisualEffect" val="ROOT" />
<set name="activateRate" val="80" />
<set name="basicProperty" val="MEN" />
<set name="castRange" val="600" />
<set name="effectPoint" val="-100" />
<set name="effectRange" val="2000" />
<set name="icon" val="icon.skill1201" />
<set name="isDebuff" val="true" />
<set name="isMagic" val="1" /> <!-- Magic Skill -->
<set name="lvlBonusRate" val="2" />
<set name="magicLvl" val="100" />
<set name="mpConsume" val="88" />
<set name="mpInitialConsume" val="22" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="AREA" />
<set name="trait" val="HOLD" />
<set name="reuseDelay" val="15000" />
<for>
<effect name="Root" />
<effect name="DefenceTrait">
<param HOLD="100" />
</effect>
</for>
</skill>
<!-- Moving against your will due to Fear. -->
<skill id="16450" levels="1" name="Mass Fear">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<!-- Temp stats, need fix. -->
<set name="affectRange" val="600" />
<set name="abnormalLvl" val="1" />
<set name="abnormalTime" val="6" />
<set name="abnormalType" val="TURN_FLEE" />
<set name="abnormalVisualEffect" val="TURN_FLEE" />
<set name="activateRate" val="80" />
<set name="basicProperty" val="MEN" />
<set name="castRange" val="600" />
<set name="effectPoint" val="-574" />
<set name="effectRange" val="1100" />
<set name="hitTime" val="2000" />
<set name="icon" val="icon.skill1169" />
<set name="isDebuff" val="true" />
<set name="isMagic" val="1" /> <!-- Magic Skill -->
<set name="lvlBonusRate" val="1" />
<set name="magicLvl" val="100" />
<set name="mpConsume" val="88" />
<set name="mpInitialConsume" val="22" />
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<set name="reuseDelay" val="20000" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="AREA" />
<set name="trait" val="DERANGEMENT" />
<for>
<effect name="Fear" />
</for>
</skill>
<!-- Attacks nearby enemies and stuns and cancels target for 10 sec. -->
<skill id="16451" levels="1" name="Wide Stun">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
<!-- Temp stats, need fix. -->
<set name="abnormalLvl" val="9" />
<set name="abnormalTime" val="9" />
<set name="abnormalType" val="STUN" />
<set name="abnormalVisualEffect" val="STUN" />
<set name="activateRate" val="60" />
<set name="fanRange" val="0,0,80,150" />
<set name="affectLimit" val="5-12" />
<set name="affectRange" val="150" />
<set name="basicProperty" val="CON" />
<set name="hitTime" val="1000" />
<set name="coolTime" val="470" />
<set name="castRange" val="40" />
<set name="reuseDelay" val="60000" />
<set name="mpConsume" val="77" />
<set name="power" val="16349" />
<set name="magicLvl" val="100" />
<set name="targetType" val="AURA" />
<set name="rideState" val="NONE" />
<set name="effectPoint" val="-100" /> <!-- temp fix -->
<set name="operateType" val="ACTIVE_CONTINUOUS" />
<set name="effectRange" val="400" />
<set name="isDebuff" val="true" />
<set name="trait" val="SHOCK" />
<for>
<effect name="PhysicalAttack" />
<effect name="Stun" />
</for>
</skill>
<!-- One of Etis van Etina's disciples. Twin of Isadora, and a Dark Healer representing the Seal of Avarice. Has been aiming for Aden from another dimension to help Etis van Etina. -->
<skill id="16452" levels="1" name="Raid Boss (Lv. 99)">

View File

@@ -310,12 +310,24 @@
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="targetType" val="SELF" />
</skill>
<!-- none -->
<skill id="18555" levels="1" name="Curtiz's Reward Box">
<!-- AUTO GENERATED INFINITE ODYSSEY SKILL TODO: FIX IT -->
<set name="icon" val="icon.skill0000" />
<!-- Need verify chances -->
<table name="#extractableItems"> 36553,1,20;36554,1,15;36548,1,15;36549,1,10;17527,1,7;17526,1,2;9552,1,5;9553,1,5;9554,1,5;9555,1,5;9556,1,5;9557,1,5;19448,1,0.7;19449,1,0.3 </table>
<set name="capsuled_items_skill" val="#extractableItems" />
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="ACTIVE_INSTANT" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="SELF" />
<cond msgId="129">
<and>
<player invSize="10" />
<player weight="80" />
</and>
</cond>
<for>
<effect name="RestorationRandom" />
</for>
</skill>
<!-- Changes the appearance of your entire armor into that of Blue Dynasty. Tops and one-pieces only. -->
<skill id="18556" levels="1" name="Blue Dynasty Armor Appearance Stone">

View File

@@ -494,9 +494,9 @@ public class L2Attackable extends L2Npc
// mob = 24, atk = 50, diff = 26 (no xp)
final int levelDiff = attacker.getLevel() - getLevel();
final int[] expSp = calculateExpAndSp(levelDiff, damage, totalDamage);
final long[] expSp = calculateExpAndSp(levelDiff, damage, totalDamage);
long exp = expSp[0];
int sp = expSp[1];
int sp = (int) expSp[1];
if (((levelDiff >= 10) && (levelDiff <= 14)) || ((levelDiff <= -10) && (levelDiff >= -14))) // 30% on 10 - 14 level diff
{
@@ -615,9 +615,9 @@ public class L2Attackable extends L2Npc
final int levelDiff = partyLvl - getLevel();
// Calculate Exp and SP rewards
final int[] expSp = calculateExpAndSp(levelDiff, partyDmg, totalDamage);
final long[] expSp = calculateExpAndSp(levelDiff, partyDmg, totalDamage);
long exp = expSp[0];
int sp = expSp[1];
int sp = (int) expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
{
@@ -1347,7 +1347,7 @@ public class L2Attackable extends L2Npc
* @param totalDamage The total damage done
* @return
*/
private int[] calculateExpAndSp(int diff, int damage, long totalDamage)
private long[] calculateExpAndSp(int diff, int damage, long totalDamage)
{
double xp;
double sp;
@@ -1388,9 +1388,9 @@ public class L2Attackable extends L2Npc
sp = 0;
}
}
final int[] tmp =
final long[] tmp =
{
(int) xp,
(long) xp,
(int) sp
};
return tmp;

View File

@@ -16,6 +16,7 @@
*/
package com.l2jmobius.gameserver.util;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Logger;
@@ -44,6 +45,15 @@ public class MinionList
/** List containing the cached deleted minions for reuse */
protected List<L2MonsterInstance> _reusedMinionReferences = null;
private final static List<Integer> KEEP_MINION_AFTER_DEATH_BOSS_IDS = new ArrayList<>();
static
{
KEEP_MINION_AFTER_DEATH_BOSS_IDS.add(26094);
KEEP_MINION_AFTER_DEATH_BOSS_IDS.add(26096);
KEEP_MINION_AFTER_DEATH_BOSS_IDS.add(26099);
KEEP_MINION_AFTER_DEATH_BOSS_IDS.add(26102);
}
public MinionList(L2MonsterInstance pMaster)
{
if (pMaster == null)
@@ -169,7 +179,7 @@ public class MinionList
*/
public void onMasterDie(boolean force)
{
if (_master.isRaid() || force)
if ((_master.isRaid() && !KEEP_MINION_AFTER_DEATH_BOSS_IDS.contains(_master.getId())) || force)
{
deleteSpawnedMinions();
}