Krofin Nest 110 level.

Thanks to nasseka.
This commit is contained in:
MobiusDevelopment
2021-07-25 17:24:00 +00:00
parent d1e55ecc7a
commit 598679bd8a
6 changed files with 557 additions and 51 deletions

View File

@@ -185,12 +185,12 @@ public class KrofinNest extends AbstractInstance
final Instance world = attacker.getInstanceWorld();
if (isInInstance(world))
{
final boolean KROPION_MINIONS_SPAWNED = world.getParameters().getBoolean("KROPION_MINIONS_SPAWNED", false);
final boolean KROSHA_FIRST_FORM_MINIONS_SPAWNED = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED", false);
final boolean KROSHA_FINAL_FORM_MINIONS_SPAWNED = world.getParameters().getBoolean("KROSHA_FINAL_FORM_MINIONS_SPAWNED", false);
final boolean kropionMinionsSpawned = world.getParameters().getBoolean("KROPION_MINIONS_SPAWNED", false);
final boolean kroshaFirstFormMinionsSpawned = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED", false);
final boolean kroshaFinalFormMinionsSpawned = world.getParameters().getBoolean("KROSHA_FINAL_FORM_MINIONS_SPAWNED", false);
if ((world.getStatus() == 2) && (npc.getId() == KROPION))
{
if (!KROPION_MINIONS_SPAWNED)
if (!kropionMinionsSpawned)
{
world.getParameters().set("KROPION_MINIONS_SPAWNED", true);
world.spawnGroup("KROPION_MINIONS");
@@ -198,12 +198,12 @@ public class KrofinNest extends AbstractInstance
}
else if (world.getStatus() == 5)
{
if ((npc.getId() == KROSHA_FIRST_FORM) && !KROSHA_FIRST_FORM_MINIONS_SPAWNED)
if ((npc.getId() == KROSHA_FIRST_FORM) && !kroshaFirstFormMinionsSpawned)
{
world.getParameters().set("KROSHA_FIRST_FORM_MINIONS_SPAWNED", true);
world.spawnGroup("KROSHA_FIRST_FORM_MINIONS");
}
else if ((npc.getId() == KROSHA_FINAL_FORM) && !KROSHA_FINAL_FORM_MINIONS_SPAWNED)
else if ((npc.getId() == KROSHA_FINAL_FORM) && !kroshaFinalFormMinionsSpawned)
{
world.getParameters().set("KROSHA_FINAL_FORM_MINIONS_SPAWNED", true);
world.spawnGroup("KROSHA_FINAL_FORM_MINIONS");
@@ -219,17 +219,17 @@ public class KrofinNest extends AbstractInstance
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
final boolean KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", false);
final boolean kroshaFirstFormMinionsSpawnedTwice = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", false);
if (world.getStatus() == 5)
{
if (CommonUtil.contains(KROSHA_FIRST_FORM_MINIONS, npc.getId()))
{
if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && !KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE)
if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && !kroshaFirstFormMinionsSpawnedTwice)
{
world.getParameters().set("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", true);
world.spawnGroup("KROSHA_FIRST_FORM_MINIONS");
}
else if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE)
else if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && kroshaFirstFormMinionsSpawnedTwice)
{
world.despawnGroup("KROSHA_FIRST_FORM");
showOnScreenMsg(world, NpcStringId.QUEEN_KROSHA_HAS_DISAPPEARED, ExShowScreenMessage.TOP_CENTER, 7000, true);

View File

@@ -185,12 +185,12 @@ public class KrofinNest extends AbstractInstance
final Instance world = attacker.getInstanceWorld();
if (isInInstance(world))
{
final boolean KROPION_MINIONS_SPAWNED = world.getParameters().getBoolean("KROPION_MINIONS_SPAWNED", false);
final boolean KROSHA_FIRST_FORM_MINIONS_SPAWNED = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED", false);
final boolean KROSHA_FINAL_FORM_MINIONS_SPAWNED = world.getParameters().getBoolean("KROSHA_FINAL_FORM_MINIONS_SPAWNED", false);
final boolean kropionMinionsSpawned = world.getParameters().getBoolean("KROPION_MINIONS_SPAWNED", false);
final boolean kroshaFirstFormMinionsSpawned = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED", false);
final boolean kroshaFinalFormMinionsSpawned = world.getParameters().getBoolean("KROSHA_FINAL_FORM_MINIONS_SPAWNED", false);
if ((world.getStatus() == 2) && (npc.getId() == KROPION))
{
if (!KROPION_MINIONS_SPAWNED)
if (!kropionMinionsSpawned)
{
world.getParameters().set("KROPION_MINIONS_SPAWNED", true);
world.spawnGroup("KROPION_MINIONS");
@@ -198,12 +198,12 @@ public class KrofinNest extends AbstractInstance
}
else if (world.getStatus() == 5)
{
if ((npc.getId() == KROSHA_FIRST_FORM) && !KROSHA_FIRST_FORM_MINIONS_SPAWNED)
if ((npc.getId() == KROSHA_FIRST_FORM) && !kroshaFirstFormMinionsSpawned)
{
world.getParameters().set("KROSHA_FIRST_FORM_MINIONS_SPAWNED", true);
world.spawnGroup("KROSHA_FIRST_FORM_MINIONS");
}
else if ((npc.getId() == KROSHA_FINAL_FORM) && !KROSHA_FINAL_FORM_MINIONS_SPAWNED)
else if ((npc.getId() == KROSHA_FINAL_FORM) && !kroshaFinalFormMinionsSpawned)
{
world.getParameters().set("KROSHA_FINAL_FORM_MINIONS_SPAWNED", true);
world.spawnGroup("KROSHA_FINAL_FORM_MINIONS");
@@ -219,17 +219,17 @@ public class KrofinNest extends AbstractInstance
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
final boolean KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", false);
final boolean kroshaFirstFormMinionsSpawnedTwice = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", false);
if (world.getStatus() == 5)
{
if (CommonUtil.contains(KROSHA_FIRST_FORM_MINIONS, npc.getId()))
{
if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && !KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE)
if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && !kroshaFirstFormMinionsSpawnedTwice)
{
world.getParameters().set("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", true);
world.spawnGroup("KROSHA_FIRST_FORM_MINIONS");
}
else if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE)
else if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && kroshaFirstFormMinionsSpawnedTwice)
{
world.despawnGroup("KROSHA_FIRST_FORM");
showOnScreenMsg(world, NpcStringId.QUEEN_KROSHA_HAS_DISAPPEARED, ExShowScreenMessage.TOP_CENTER, 7000, true);

View File

@@ -8,5 +8,6 @@ Welcome! My name is Benusta. I help adventurers to travel to instance zones. I c
<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>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest AshenShadowRevolutionaries enterInstance110">Ashen Shadow Camp - Lv. 110</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest KrofinNest enterInstance110">Krofin's Nest - Lv. 110</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest SpiritForest enterInstance105">Spirit Forest - Lv. 105</Button>
</body></html>

View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Krofins Nest - 110 -->
<instance id="315" maxWorlds="100" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/instance.xsd">
<time duration="60" empty="1" />
<locations>
<enter type="FIXED">
<location x="124390" y="155333" z="-3713" heading="0" /> <!-- Krofin Nest -->
</enter>
<exit type="ORIGIN" />
</locations>
<conditions>
<condition type="Reenter" />
<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="105" />
</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="23220101">
<openStatus default="close" />
</door>
<door id="24250002">
<openStatus default="close" />
</door>
<door id="24250004">
<openStatus default="close" />
</door>
<door id="24250006">
<openStatus default="close" />
</door>
</doorlist>
<spawnlist>
<group name="FIRST_AREA" spawnByDefault="false">
<npc id="26479" x="123970" y="154547" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="123906" y="154494" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="124308" y="154585" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="123833" y="154401" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="124370" y="154268" z="-3666" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="124131" y="154115" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="124012" y="153981" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="123682" y="154261" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26479" x="124012" y="153981" z="-3664" heading="32542" /> <!-- Kropios -->
<npc id="26477" x="124020" y="154360" z="-3656" heading="32542" /> <!-- Kropion -->
<npc id="26478" x="124123" y="152724" z="-3667" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124200" y="153026" z="-3674" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124303" y="152969" z="-3670" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124399" y="152839" z="-3666" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124029" y="152515" z="-3670" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124123" y="152724" z="-3667" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124200" y="153026" z="-3674" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124303" y="152969" z="-3670" heading="32542" /> <!-- Krotanios -->
<npc id="26478" x="124399" y="152839" z="-3666" heading="32542" /> <!-- Krotanios -->
<npc id="26476" x="124231" y="152661" z="-3656" heading="32542" /> <!-- Krotanion -->
</group>
<group name="SECOND_AREA" spawnByDefault="false">
<npc id="26474" x="150858" y="249727" z="-7112" heading="32542" /> <!-- Kropion -->
<npc id="26474" x="150598" y="249649" z="-7112" heading="32542" /> <!-- Kropion -->
<npc id="26474" x="151442" y="249603" z="-7112" heading="32542" /> <!-- Kropion -->
<npc id="26474" x="151294" y="249068" z="-7112" heading="32542" /> <!-- Kropion -->
<npc id="26474" x="151294" y="249068" z="-7112" heading="32542" /> <!-- Kropion -->
</group>
<group name="THIRD_AREA" spawnByDefault="false">
<npc id="26470" x="142173" y="249603" z="-7112" heading="32542" /> <!-- Krotanion -->
<npc id="26471" x="141842" y="249717" z="-7112" heading="32542" /> <!-- Young Krotanion -->
<npc id="26471" x="141942" y="249900" z="-7112" heading="32542" /> <!-- Young Krotanion -->
<npc id="26471" x="142065" y="249808" z="-7112" heading="32542" /> <!-- Young Krotanion -->
<npc id="26471" x="142232" y="250114" z="-7101" heading="32542" /> <!-- Young Krotanion -->
<npc id="26471" x="142264" y="249813" z="-7112" heading="32542" /> <!-- Young Krotanion -->
<npc id="26471" x="142145" y="249693" z="-7112" heading="32542" /> <!-- Young Krotanion -->
<npc id="26471" x="142243" y="249603" z="-7112" heading="32542" /> <!-- Young Krotanion -->
<npc id="26471" x="142408" y="249281" z="-7112" heading="32542" /> <!-- Young Krotanion -->
</group>
<group name="FOURTH_AREA" spawnByDefault="false">
<npc id="26468" x="150536" y="241386" z="-7112" heading="32542" /> <!-- Krotanion -->
<npc id="26469" x="151089" y="241259" z="-7119" heading="32542" /> <!-- Kropion -->
</group>
<group name="KROPION_MINIONS" spawnByDefault="false">
<npc id="26475" x="151023" y="249494" z="-7095" heading="32542" /> <!-- Kropios-->
<npc id="26475" x="151023" y="249494" z="-7095" heading="32542" /> <!-- Kropios -->
<npc id="26475" x="151023" y="249494" z="-7095" heading="32542" /> <!-- Kropios -->
<npc id="26475" x="151023" y="249494" z="-7095" heading="32542" /> <!-- Kropios -->
<npc id="26475" x="151023" y="249494" z="-7095" heading="32542" /> <!-- Kropios -->
<npc id="26475" x="151023" y="249494" z="-7095" heading="32542" /> <!-- Kropios -->
</group>
<group name="KROSHA_FINAL_FORM" spawnByDefault="false">
<npc id="26467" x="142395" y="240706" z="-6216" heading="32542" /> <!-- Queen Krosha Final Form -->
</group>
</spawnlist>
</instance>

View File

@@ -36,41 +36,57 @@ import instances.AbstractInstance;
*/
public class KrofinNest extends AbstractInstance
{
// NPC
// NPCs
private static final int BENUSTA = 34542;
// Item
private static final ItemHolder BENUSTAS_REWARD_BOX = new ItemHolder(81151, 1);
// Misc
private static final int TEMPLATE_ID = 291; // Krofin Nest
private static final int DOOR1 = 23220101;
private static final int DOOR2 = 24250002;
private static final int DOOR3 = 24250004;
private static final int DOOR4 = 24250006;
private static final int KROSHA_FIRST_FORM = 26389;
private static final int KROSHA_FINAL_FORM = 26390;
private static final int KROSHA_FINAL_FORM_110 = 26467;
private static final int KROPION = 26396;
private static final int KROPION_110 = 26474;
private static final int[] FIRST_AREA =
{
26396,
KROPION,
26398
};
private static final int[] FIRST_AREA_110 =
{
26479,
26478,
26477,
26476
};
private static final int[] SECOND_AREA =
{
26396,
KROPION,
26398
};
private static final int[] SECOND_AREA_110 =
{
KROPION_110,
26475
};
private static final int[] THIRD_AREA =
{
26395,
26397
};
private static final int[] THIRD_AREA_110 =
{
26470,
26471
};
private static final int[] FOURTH_AREA =
{
26395,
26396,
KROPION,
26397,
26398
};
private static final int KROSHA_FIRST_FORM = 26389;
private static final int KROSHA_FINAL_FORM = 26390;
private static final int KROPION = 26396;
private static final int[] FOURTH_AREA_110 =
{
26468,
26469
};
private static final int[] KROSHA_FIRST_FORM_MINIONS =
{
26393,
@@ -81,21 +97,40 @@ public class KrofinNest extends AbstractInstance
26391,
26392
};
// Items
private static final ItemHolder BENUSTAS_REWARD_BOX = new ItemHolder(81151, 1);
private static final ItemHolder BENUSTAS_REWARD_BOX_110 = new ItemHolder(81741, 1);
// Misc
private static final int[] TEMPLATE_IDS =
{
291,
315
};
private static final int DOOR1 = 23220101;
private static final int DOOR2 = 24250002;
private static final int DOOR3 = 24250004;
private static final int DOOR4 = 24250006;
public KrofinNest()
{
super(TEMPLATE_ID);
super(TEMPLATE_IDS);
addStartNpc(BENUSTA);
addTalkId(BENUSTA);
addAttackId(FIRST_AREA);
addAttackId(FIRST_AREA_110);
addAttackId(SECOND_AREA);
addAttackId(SECOND_AREA_110);
addAttackId(THIRD_AREA);
addAttackId(THIRD_AREA_110);
addAttackId(FOURTH_AREA);
addAttackId(FOURTH_AREA_110);
addAttackId(KROSHA_FIRST_FORM);
addAttackId(KROSHA_FINAL_FORM);
addAttackId(KROSHA_FINAL_FORM_110);
addKillId(KROSHA_FIRST_FORM_MINIONS);
addKillId(ENHANCED_MINIONS);
addKillId(KROSHA_FINAL_FORM);
addKillId(KROSHA_FINAL_FORM_110);
}
@Override
@@ -106,13 +141,14 @@ public class KrofinNest extends AbstractInstance
case "enterInstance":
{
// Cannot enter if player finished another instance.
if ((Chronos.currentTimeMillis() < InstanceManager.getInstance().getInstanceTime(player, 315)))
final int templateId = event.contains("110") ? TEMPLATE_IDS[1] : TEMPLATE_IDS[0];
if ((Chronos.currentTimeMillis() < InstanceManager.getInstance().getInstanceTime(player, templateId == TEMPLATE_IDS[1] ? TEMPLATE_IDS[0] : TEMPLATE_IDS[1])))
{
player.sendPacket(new SystemMessage(SystemMessageId.SINCE_C1_ENTERED_ANOTHER_INSTANCE_ZONE_THEREFORE_YOU_CANNOT_ENTER_THIS_DUNGEON).addString(player.getName()));
return null;
}
enterInstance(player, npc, TEMPLATE_ID);
enterInstance(player, npc, templateId);
if (player.getInstanceWorld() != null)
{
startQuestTimer("check_status", 1000, null, player);
@@ -126,6 +162,7 @@ public class KrofinNest extends AbstractInstance
{
return null;
}
switch (world.getStatus())
{
case 0:
@@ -137,7 +174,7 @@ public class KrofinNest extends AbstractInstance
}
case 1:
{
if (world.getAliveNpcs(FIRST_AREA).isEmpty())
if (world.getAliveNpcs(world.getTemplateId() == TEMPLATE_IDS[0] ? FIRST_AREA : FIRST_AREA_110).isEmpty())
{
showOnScreenMsg(world, NpcStringId.THE_WATER_ENERGY_IS_NO_LONGER_ACTIVE_THE_WAY_IS_CLEAR, ExShowScreenMessage.TOP_CENTER, 10000, true);
world.setStatus(2);
@@ -149,7 +186,7 @@ public class KrofinNest extends AbstractInstance
}
case 2:
{
if (world.getAliveNpcs(SECOND_AREA).isEmpty())
if (world.getAliveNpcs(world.getTemplateId() == TEMPLATE_IDS[0] ? SECOND_AREA : SECOND_AREA_110).isEmpty())
{
showOnScreenMsg(world, NpcStringId.THE_WATER_ENERGY_IS_NO_LONGER_ACTIVE_THE_WAY_IS_CLEAR, ExShowScreenMessage.TOP_CENTER, 10000, true);
world.setStatus(3);
@@ -161,7 +198,7 @@ public class KrofinNest extends AbstractInstance
}
case 3:
{
if (world.getAliveNpcs(THIRD_AREA).isEmpty())
if (world.getAliveNpcs(world.getTemplateId() == TEMPLATE_IDS[0] ? THIRD_AREA : THIRD_AREA_110).isEmpty())
{
showOnScreenMsg(world, NpcStringId.THE_WATER_ENERGY_IS_NO_LONGER_ACTIVE_THE_WAY_IS_CLEAR, ExShowScreenMessage.TOP_CENTER, 10000, true);
world.setStatus(4);
@@ -173,12 +210,12 @@ public class KrofinNest extends AbstractInstance
}
case 4:
{
if (world.getAliveNpcs(FOURTH_AREA).isEmpty())
if (world.getAliveNpcs(world.getTemplateId() == TEMPLATE_IDS[0] ? FOURTH_AREA : FOURTH_AREA_110).isEmpty())
{
showOnScreenMsg(world, NpcStringId.THE_WATER_ENERGY_IS_NO_LONGER_ACTIVE_THE_WAY_IS_CLEAR, ExShowScreenMessage.TOP_CENTER, 10000, true);
world.setStatus(5);
world.getDoor(DOOR4).openMe();
world.spawnGroup("KROSHA_FIRST_FORM");
world.spawnGroup(world.getTemplateId() == TEMPLATE_IDS[0] ? "KROSHA_FIRST_FORM" : "KROSHA_FINAL_FORM");
}
startQuestTimer("check_status", 10000, null, player);
break;
@@ -196,12 +233,12 @@ public class KrofinNest extends AbstractInstance
final Instance world = attacker.getInstanceWorld();
if (isInInstance(world))
{
final boolean KROPION_MINIONS_SPAWNED = world.getParameters().getBoolean("KROPION_MINIONS_SPAWNED", false);
final boolean KROSHA_FIRST_FORM_MINIONS_SPAWNED = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED", false);
final boolean KROSHA_FINAL_FORM_MINIONS_SPAWNED = world.getParameters().getBoolean("KROSHA_FINAL_FORM_MINIONS_SPAWNED", false);
if ((world.getStatus() == 2) && (npc.getId() == KROPION))
final boolean kropionMinionsSpawned = world.getParameters().getBoolean("KROPION_MINIONS_SPAWNED", false);
final boolean kroshaFirstFormMinionsSpawned = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED", false);
final boolean kroshaFinalFormMinionsSpawned = world.getParameters().getBoolean("KROSHA_FINAL_FORM_MINIONS_SPAWNED", false);
if ((world.getStatus() == 2) && ((npc.getId() == KROPION) || (npc.getId() == KROPION_110)))
{
if (!KROPION_MINIONS_SPAWNED)
if (!kropionMinionsSpawned)
{
world.getParameters().set("KROPION_MINIONS_SPAWNED", true);
world.spawnGroup("KROPION_MINIONS");
@@ -209,12 +246,12 @@ public class KrofinNest extends AbstractInstance
}
else if (world.getStatus() == 5)
{
if ((npc.getId() == KROSHA_FIRST_FORM) && !KROSHA_FIRST_FORM_MINIONS_SPAWNED)
if ((npc.getId() == KROSHA_FIRST_FORM) && !kroshaFirstFormMinionsSpawned)
{
world.getParameters().set("KROSHA_FIRST_FORM_MINIONS_SPAWNED", true);
world.spawnGroup("KROSHA_FIRST_FORM_MINIONS");
}
else if ((npc.getId() == KROSHA_FINAL_FORM) && !KROSHA_FINAL_FORM_MINIONS_SPAWNED)
else if (((npc.getId() == KROSHA_FINAL_FORM) || (npc.getId() == KROSHA_FINAL_FORM_110)) && !kroshaFinalFormMinionsSpawned)
{
world.getParameters().set("KROSHA_FINAL_FORM_MINIONS_SPAWNED", true);
world.spawnGroup("KROSHA_FINAL_FORM_MINIONS");
@@ -230,17 +267,17 @@ public class KrofinNest extends AbstractInstance
final Instance world = npc.getInstanceWorld();
if (isInInstance(world))
{
final boolean KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", false);
final boolean kroshaFirstFormMinionsSpawnedTwice = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", false);
if (world.getStatus() == 5)
{
if (CommonUtil.contains(KROSHA_FIRST_FORM_MINIONS, npc.getId()))
{
if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && !KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE)
if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && !kroshaFirstFormMinionsSpawnedTwice)
{
world.getParameters().set("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", true);
world.spawnGroup("KROSHA_FIRST_FORM_MINIONS");
}
else if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE)
else if (world.getAliveNpcs(KROSHA_FIRST_FORM_MINIONS).isEmpty() && kroshaFirstFormMinionsSpawnedTwice)
{
world.despawnGroup("KROSHA_FIRST_FORM");
showOnScreenMsg(world, NpcStringId.QUEEN_KROSHA_HAS_DISAPPEARED, ExShowScreenMessage.TOP_CENTER, 7000, true);
@@ -264,6 +301,15 @@ public class KrofinNest extends AbstractInstance
showOnScreenMsg(world, NpcStringId.THE_WATER_POWER_PROTECTING_QUEEN_KROSHA_HAS_DISAPPEARED, ExShowScreenMessage.TOP_CENTER, 7000, true);
world.finishInstance();
}
else if (npc.getId() == KROSHA_FINAL_FORM_110)
{
for (PlayerInstance member : world.getPlayers())
{
giveItems(member, BENUSTAS_REWARD_BOX_110);
}
showOnScreenMsg(world, NpcStringId.THE_WATER_POWER_PROTECTING_QUEEN_KROSHA_HAS_DISAPPEARED, ExShowScreenMessage.TOP_CENTER, 7000, true);
world.finishInstance();
}
else
{
world.setReenterTime();

View File

@@ -2221,4 +2221,352 @@
<height normal="73.8" />
</collision>
</npc>
<npc id="26467" level="115" type="RaidBoss" name="Queen Krosha" title="Krofin Queen">
<race>BEAST</race>
<acquire exp="5160319718400" sp="4644287703" />
<stats str="164" int="188" dex="55" wit="78" con="111" men="149">
<vitals hp="30300303" hpRegen="488.1839242" mp="59126" mpRegen="3.6" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
<attack physical="52380.9523809524" magical="9243.6974789916" critical="4" attackSpeed="253" range="40" />
<defence physical="4074.07407407407" magical="2365.59139784946" />
</stats>
<status attackable="true" />
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="4494" level="1" /> <!-- Raid Boss -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="4" /> <!-- Vamp ress-->
<skill id="33180" level="1" /> <!-- Party Xp-->
<skill id="32660" level="1" /> <!-- Queen Krosha -->
<skill id="32675" level="1" /> <!-- Status Effect Resistance -->
<skill id="14823" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="4273" level="3" /> <!-- Dagger Resistance -->
<skill id="33195" level="10" /> <!-- Direct hit Resistance -->
</skillList>
<collision>
<radius normal="60" />
<height normal="81.75" />
</collision>
</npc>
<npc id="26468" level="110" type="Monster" name="Krotanion">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="23829900" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="58" />
<height normal="52.5" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="32675" level="1" /> <!-- Status effect Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="4273" level="3" /> <!-- Dagger Resistance -->
<skill id="33195" level="10" /> <!-- Direct hit Resistance -->
</skillList>
</npc>
<npc id="26469" level="110" type="Monster" name="Kropion">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="23829900" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="36" />
<height normal="55.5" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="32675" level="1" /> <!-- Status effect Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="4273" level="3" /> <!-- Dagger Resistance -->
<skill id="33195" level="10" /> <!-- Direct hit Resistance -->
</skillList>
</npc>
<npc id="26470" level="110" type="Monster" name="Krotanios">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="5957475" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="36" />
<height normal="24.6" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
</skillList>
</npc>
<npc id="26471" level="110" type="Monster" name="Kropios">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="5957475" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="36" />
<height normal="24.6" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="5599" level="12" /> <!-- Confusion Resistance -->
</skillList>
</npc>
<npc id="26472" level="110" type="Monster" name="Krotanion">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="17872425" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="58" />
<height normal="52.5" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="32675" level="1" /> <!-- Status effect Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="4273" level="3" /> <!-- Dagger Resistance -->
<skill id="33195" level="10" /> <!-- Direct hit Resistance -->
</skillList>
</npc>
<npc id="26473" level="110" type="Monster" name="Kropion">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="17872425" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="36" />
<height normal="55.5" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="32675" level="1" /> <!-- Status effect Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="4273" level="3" /> <!-- Dagger Resistance -->
<skill id="33195" level="10" /> <!-- Direct hit Resistance -->
</skillList>
</npc>
<npc id="26474" level="110" type="Monster" name="Krotanios">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="5957475" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="39" />
<height normal="26.9" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
</skillList>
</npc>
<npc id="26475" level="110" type="Monster" name="Kropios">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="5957475" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="39" />
<height normal="26.9" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="5599" level="12" /> <!-- Confusion Resistance -->
</skillList>
</npc>
<npc id="26476" level="110" type="Monster" name="Krotanion">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="10723455" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="58" />
<height normal="52.5" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="5599" level="12" /> <!-- Confusion Resistance -->
</skillList>
</npc>
<npc id="26477" level="110" type="Monster" name="Kropion">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="10723455" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="36" />
<height normal="55.5" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="5599" level="12" /> <!-- Confusion Resistance -->
</skillList>
</npc>
<npc id="26478" level="110" type="Monster" name="Krotanios">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="10723455" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="39" />
<height normal="26.9" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
</skillList>
</npc>
<npc id="26479" level="110" type="Monster" name="Kropios">
<race>BEAST</race>
<sex>MALE</sex>
<stats str="88" int="79" dex="55" wit="78" con="82" men="78">
<vitals hp="10723455" hpRegen="9.5" mp="26106.2706270627" mpRegen="3.3" />
<attack physical="368976.088746177" magical="948.895573018099" random="30" critical="4.75" accuracy="4.75" attackSpeed="250" type="SWORD" range="40" distance="80" width="120" />
<defence physical="3508.04020100503" magical="1345.00887274657" />
<speed>
<walk ground="50" />
<run ground="180" />
</speed>
</stats>
<status attackable="true" />
<collision>
<radius normal="39" />
<height normal="26.9" />
</collision>
<skillList>
<skill id="4416" level="3" /> <!-- Beasts -->
<skill id="5463" level="1" /> <!-- Water Attack -->
<skill id="14765" level="3" /> <!-- Vampiric Rage Resistance -->
<skill id="14821" level="1" /> <!-- Instant Kill Attack Resistance -->
<skill id="16547" level="10" /> <!-- Danger Zone Resistance -->
<skill id="5599" level="12" /> <!-- Confusion Resistance -->
</skillList>
</npc>
</list>