Nightmare Kamaloka 110 level.
Thanks to nasseka.
This commit is contained in:
parent
e8eebdb0bc
commit
41137473a8
@ -6,4 +6,5 @@ Welcome! My name is Benusta. I help adventurers to travel to instance zones. I c
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest KrofinNest enterInstance">Krofin's Nest</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest SpiritForest enterInstance">Spirit Forest</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest BaylorWarzone enterInstance110">Crystal Prison (Baylor) - Lv. 110</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest NightmareKamaloka enterInstance110">Nightmare Kamaloka - Lv. 110</Button>
|
||||
</body></html>
|
65
L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/instances/NightmareKamaloka110.xml
vendored
Normal file
65
L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/instances/NightmareKamaloka110.xml
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Nightmare Kamaloka lv. 110 -->
|
||||
<instance id="313" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
|
||||
<time duration="60" empty="5" />
|
||||
<locations>
|
||||
<enter type="FIXED">
|
||||
<location x="-42921" y="-16243" z="-12212" />
|
||||
</enter>
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="Party" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html" />
|
||||
</condition>
|
||||
<condition type="PartyLeader" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html" />
|
||||
</condition>
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="2" />
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
</condition>
|
||||
<condition type="Level">
|
||||
<param name="min" value="110" />
|
||||
</condition>
|
||||
<condition type="Distance" />
|
||||
</conditions>
|
||||
<reenter apply="ON_FINISH">
|
||||
<reset day="MONDAY" hour="6" minute="30" />
|
||||
<reset day="TUESDAY" hour="6" minute="30" />
|
||||
<reset day="WEDNESDAY" hour="6" minute="30" />
|
||||
<reset day="THURSDAY" hour="6" minute="30" />
|
||||
<reset day="FRIDAY" hour="6" minute="30" />
|
||||
<reset day="SATURDAY" hour="6" minute="30" />
|
||||
<reset day="SUNDAY" hour="6" minute="30" />
|
||||
</reenter>
|
||||
<doorlist>
|
||||
<door id="18170002">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="18170004">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="18170006">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="18170008">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
</doorlist>
|
||||
<spawnlist>
|
||||
<group>
|
||||
<npc id="18919" x="-42922" y="-16244" z="-12208" /> <!-- -->
|
||||
</group>
|
||||
<group name="BOSSES" spawnByDefault="false">
|
||||
<npc id="26461" x="-43380" y="-16243" z="-12224" /> <!-- Noegg -->
|
||||
<npc id="26462" x="-45717" y="-16241" z="-11960" /> <!-- Kyshis -->
|
||||
<npc id="26463" x="-48051" y="-16243" z="-11696" /> <!-- Ssizz Chronizel -->
|
||||
|
||||
<npc id="26464" x="-50386" y="-16241" z="-11432" /> <!-- Kanan Chronizel -->
|
||||
<npc id="26465" x="-54166" y="-16242" z="-10992" /> <!-- Sir Sione Ulaf -->
|
||||
</group>
|
||||
</spawnlist>
|
||||
</instance>
|
@ -35,12 +35,12 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
// NPCs
|
||||
private static final int BENUSTA = 34542;
|
||||
private static final int DARK_RIDER = 26102;
|
||||
private static final int SIONE_ULAF = 26465;
|
||||
private static final int INVISIBLE_NPC = 18919;
|
||||
// Item
|
||||
// Items
|
||||
private static final ItemHolder BENUSTAS_REWARD_BOX = new ItemHolder(81151, 1);
|
||||
// Skills
|
||||
// private static final int DARK_RIDER_UD = 16574;
|
||||
//@formatter:off
|
||||
private static final ItemHolder BENUSTAS_REWARD_BOX_110 = new ItemHolder(81741, 1);
|
||||
// Misc
|
||||
private static final Map<Integer, Integer> BOSS_MAP = new HashMap<>();
|
||||
static
|
||||
{
|
||||
@ -50,38 +50,44 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
BOSS_MAP.put(26099, 18170008); // Sirra
|
||||
BOSS_MAP.put(DARK_RIDER, -1); // Dark Rider
|
||||
}
|
||||
//@formatter:on
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 258;
|
||||
private static final Map<Integer, Integer> BOSS_MAP_110 = new HashMap<>();
|
||||
static
|
||||
{
|
||||
BOSS_MAP_110.put(26461, 18170002); // Noegg
|
||||
BOSS_MAP_110.put(26462, 18170004); // Kyshis
|
||||
BOSS_MAP_110.put(26463, 18170006); // Ssizz Chronizel
|
||||
BOSS_MAP_110.put(26464, 18170008); // Kanan Chronizel
|
||||
BOSS_MAP_110.put(SIONE_ULAF, -1); // Sir Sione Ulaf
|
||||
}
|
||||
private static final int[] TEMPLATE_IDS =
|
||||
{
|
||||
258,
|
||||
313
|
||||
};
|
||||
|
||||
public NightmareKamaloka()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
super(TEMPLATE_IDS);
|
||||
addStartNpc(BENUSTA);
|
||||
addTalkId(BENUSTA);
|
||||
addSpawnId(INVISIBLE_NPC);
|
||||
// addAttackId(DARK_RIDER_UD);
|
||||
addKillId(BOSS_MAP.keySet());
|
||||
addKillId(BOSS_MAP_110.keySet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
switch (event)
|
||||
if (event.contains("enterInstance"))
|
||||
{
|
||||
case "enterInstance":
|
||||
enterInstance(player, npc, event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0]);
|
||||
}
|
||||
else if ("SPAWN_BOSSES".equals(event))
|
||||
{
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
break;
|
||||
}
|
||||
case "SPAWN_BOSSES":
|
||||
{
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
instance.spawnGroup("BOSSES");
|
||||
}
|
||||
break;
|
||||
instance.spawnGroup("BOSSES");
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
@ -104,12 +110,12 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
final int nextDoorId = BOSS_MAP.getOrDefault(npc.getId(), -1);
|
||||
final int nextDoorId = instance.getTemplateId() == TEMPLATE_IDS[0] ? BOSS_MAP.getOrDefault(npc.getId(), -1) : BOSS_MAP_110.getOrDefault(npc.getId(), -1);
|
||||
if (nextDoorId == -1)
|
||||
{
|
||||
for (PlayerInstance member : instance.getPlayers())
|
||||
{
|
||||
giveItems(member, BENUSTAS_REWARD_BOX);
|
||||
giveItems(member, instance.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110);
|
||||
}
|
||||
instance.finishInstance();
|
||||
}
|
||||
@ -121,13 +127,6 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
/*
|
||||
* @Override public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon) { final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { if (npc.getId() == DARK_RIDER_UD) { if ((npc.getCurrentHpPercent() >= 95) && npc.isScriptValue(0)) {
|
||||
* npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 1)); npc.setScriptValue(1); } else if ((npc.getCurrentHpPercent() >= 75) && npc.isScriptValue(1)) { npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 2)); npc.setScriptValue(2); } else if ((npc.getCurrentHpPercent() >= 50) &&
|
||||
* npc.isScriptValue(2)) { npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 3)); npc.setScriptValue(3); } else if ((npc.getCurrentHpPercent() >= 25) && npc.isScriptValue(3)) { npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 4)); npc.setScriptValue(4); } } } return
|
||||
* super.onAttack(npc, attacker, damage, isSummon); }
|
||||
*/
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new NightmareKamaloka();
|
||||
|
@ -6,4 +6,5 @@ Welcome! My name is Benusta. I help adventurers to travel to instance zones. I c
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest KrofinNest enterInstance">Krofin's Nest</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest SpiritForest enterInstance">Spirit Forest</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest BaylorWarzone enterInstance110">Crystal Prison (Baylor) - Lv. 110</Button>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest NightmareKamaloka enterInstance110">Nightmare Kamaloka - Lv. 110</Button>
|
||||
</body></html>
|
65
L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/instances/NightmareKamaloka110.xml
vendored
Normal file
65
L2J_Mobius_9.2_ReturnOfTheQueenAnt_Ch2/dist/game/data/instances/NightmareKamaloka110.xml
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Nightmare Kamaloka lv. 110 -->
|
||||
<instance id="313" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
|
||||
<time duration="60" empty="5" />
|
||||
<locations>
|
||||
<enter type="FIXED">
|
||||
<location x="-42921" y="-16243" z="-12212" />
|
||||
</enter>
|
||||
<exit type="ORIGIN" />
|
||||
</locations>
|
||||
<conditions>
|
||||
<condition type="Party" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html" />
|
||||
</condition>
|
||||
<condition type="PartyLeader" showMessageAndHtml="true">
|
||||
<param name="html" value="condNoPartyLeader.html" />
|
||||
</condition>
|
||||
<condition type="GroupMin">
|
||||
<param name="limit" value="2" />
|
||||
</condition>
|
||||
<condition type="GroupMax">
|
||||
<param name="limit" value="7" />
|
||||
</condition>
|
||||
<condition type="Level">
|
||||
<param name="min" value="110" />
|
||||
</condition>
|
||||
<condition type="Distance" />
|
||||
</conditions>
|
||||
<reenter apply="ON_FINISH">
|
||||
<reset day="MONDAY" hour="6" minute="30" />
|
||||
<reset day="TUESDAY" hour="6" minute="30" />
|
||||
<reset day="WEDNESDAY" hour="6" minute="30" />
|
||||
<reset day="THURSDAY" hour="6" minute="30" />
|
||||
<reset day="FRIDAY" hour="6" minute="30" />
|
||||
<reset day="SATURDAY" hour="6" minute="30" />
|
||||
<reset day="SUNDAY" hour="6" minute="30" />
|
||||
</reenter>
|
||||
<doorlist>
|
||||
<door id="18170002">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="18170004">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="18170006">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
<door id="18170008">
|
||||
<openStatus default="close" />
|
||||
</door>
|
||||
</doorlist>
|
||||
<spawnlist>
|
||||
<group>
|
||||
<npc id="18919" x="-42922" y="-16244" z="-12208" /> <!-- -->
|
||||
</group>
|
||||
<group name="BOSSES" spawnByDefault="false">
|
||||
<npc id="26461" x="-43380" y="-16243" z="-12224" /> <!-- Noegg -->
|
||||
<npc id="26462" x="-45717" y="-16241" z="-11960" /> <!-- Kyshis -->
|
||||
<npc id="26463" x="-48051" y="-16243" z="-11696" /> <!-- Ssizz Chronizel -->
|
||||
|
||||
<npc id="26464" x="-50386" y="-16241" z="-11432" /> <!-- Kanan Chronizel -->
|
||||
<npc id="26465" x="-54166" y="-16242" z="-10992" /> <!-- Sir Sione Ulaf -->
|
||||
</group>
|
||||
</spawnlist>
|
||||
</instance>
|
@ -35,12 +35,12 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
// NPCs
|
||||
private static final int BENUSTA = 34542;
|
||||
private static final int DARK_RIDER = 26102;
|
||||
private static final int SIONE_ULAF = 26465;
|
||||
private static final int INVISIBLE_NPC = 18919;
|
||||
// Item
|
||||
// Items
|
||||
private static final ItemHolder BENUSTAS_REWARD_BOX = new ItemHolder(81151, 1);
|
||||
// Skills
|
||||
// private static final int DARK_RIDER_UD = 16574;
|
||||
//@formatter:off
|
||||
private static final ItemHolder BENUSTAS_REWARD_BOX_110 = new ItemHolder(81741, 1);
|
||||
// Misc
|
||||
private static final Map<Integer, Integer> BOSS_MAP = new HashMap<>();
|
||||
static
|
||||
{
|
||||
@ -50,38 +50,44 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
BOSS_MAP.put(26099, 18170008); // Sirra
|
||||
BOSS_MAP.put(DARK_RIDER, -1); // Dark Rider
|
||||
}
|
||||
//@formatter:on
|
||||
// Misc
|
||||
private static final int TEMPLATE_ID = 258;
|
||||
private static final Map<Integer, Integer> BOSS_MAP_110 = new HashMap<>();
|
||||
static
|
||||
{
|
||||
BOSS_MAP_110.put(26461, 18170002); // Noegg
|
||||
BOSS_MAP_110.put(26462, 18170004); // Kyshis
|
||||
BOSS_MAP_110.put(26463, 18170006); // Ssizz Chronizel
|
||||
BOSS_MAP_110.put(26464, 18170008); // Kanan Chronizel
|
||||
BOSS_MAP_110.put(SIONE_ULAF, -1); // Sir Sione Ulaf
|
||||
}
|
||||
private static final int[] TEMPLATE_IDS =
|
||||
{
|
||||
258,
|
||||
313
|
||||
};
|
||||
|
||||
public NightmareKamaloka()
|
||||
{
|
||||
super(TEMPLATE_ID);
|
||||
super(TEMPLATE_IDS);
|
||||
addStartNpc(BENUSTA);
|
||||
addTalkId(BENUSTA);
|
||||
addSpawnId(INVISIBLE_NPC);
|
||||
// addAttackId(DARK_RIDER_UD);
|
||||
addKillId(BOSS_MAP.keySet());
|
||||
addKillId(BOSS_MAP_110.keySet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
switch (event)
|
||||
if (event.contains("enterInstance"))
|
||||
{
|
||||
case "enterInstance":
|
||||
enterInstance(player, npc, event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0]);
|
||||
}
|
||||
else if ("SPAWN_BOSSES".equals(event))
|
||||
{
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
enterInstance(player, npc, TEMPLATE_ID);
|
||||
break;
|
||||
}
|
||||
case "SPAWN_BOSSES":
|
||||
{
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
instance.spawnGroup("BOSSES");
|
||||
}
|
||||
break;
|
||||
instance.spawnGroup("BOSSES");
|
||||
}
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
@ -104,12 +110,12 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
final Instance instance = npc.getInstanceWorld();
|
||||
if (isInInstance(instance))
|
||||
{
|
||||
final int nextDoorId = BOSS_MAP.getOrDefault(npc.getId(), -1);
|
||||
final int nextDoorId = instance.getTemplateId() == TEMPLATE_IDS[0] ? BOSS_MAP.getOrDefault(npc.getId(), -1) : BOSS_MAP_110.getOrDefault(npc.getId(), -1);
|
||||
if (nextDoorId == -1)
|
||||
{
|
||||
for (PlayerInstance member : instance.getPlayers())
|
||||
{
|
||||
giveItems(member, BENUSTAS_REWARD_BOX);
|
||||
giveItems(member, instance.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110);
|
||||
}
|
||||
instance.finishInstance();
|
||||
}
|
||||
@ -121,13 +127,6 @@ public class NightmareKamaloka extends AbstractInstance
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
/*
|
||||
* @Override public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon) { final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { if (npc.getId() == DARK_RIDER_UD) { if ((npc.getCurrentHpPercent() >= 95) && npc.isScriptValue(0)) {
|
||||
* npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 1)); npc.setScriptValue(1); } else if ((npc.getCurrentHpPercent() >= 75) && npc.isScriptValue(1)) { npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 2)); npc.setScriptValue(2); } else if ((npc.getCurrentHpPercent() >= 50) &&
|
||||
* npc.isScriptValue(2)) { npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 3)); npc.setScriptValue(3); } else if ((npc.getCurrentHpPercent() >= 25) && npc.isScriptValue(3)) { npc.doCast(SkillData.getInstance().getSkill(DARK_RIDER_UD, 4)); npc.setScriptValue(4); } } } return
|
||||
* super.onAttack(npc, attacker, damage, isSummon); }
|
||||
*/
|
||||
|
||||
public static void main(String[] args)
|
||||
{
|
||||
new NightmareKamaloka();
|
||||
|
Loading…
Reference in New Issue
Block a user