Improved Labyrinth of Belis.

This commit is contained in:
MobiusDev 2017-09-10 04:48:18 +00:00
parent c7cc582632
commit 45ddc085b9
7 changed files with 37 additions and 42 deletions

View File

@ -143,22 +143,20 @@ public final class LabyrinthOfBelis extends AbstractInstance
world.setStatus(6); world.setStatus(6);
world.openCloseDoor(DOOR_ID_ROOM_3_2, true); world.openCloseDoor(DOOR_ID_ROOM_3_2, true);
final L2Npc generator = addSpawn(ELECTRICITY_GENERATOR, GENERATOR_SPAWN, false, 0, true, world.getId()); final L2Npc generator = addSpawn(ELECTRICITY_GENERATOR, GENERATOR_SPAWN, false, 0, false, world.getId());
generator.reduceCurrentHp(1, npc, null);
generator.setDisplayEffect(1);
generator.disableCoreAI(true); generator.disableCoreAI(true);
npc.setScriptValue(1); npc.setScriptValue(1);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE);
npc.setTarget(generator); npc.setTarget(generator);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, INFILTRATION_OFFICER_ROOM_3_INSIDE); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, INFILTRATION_OFFICER_ROOM_3_INSIDE);
getTimers().addTimer("GENERATOR_EFFECT", 300, generator, null);
getTimers().addRepeatingTimer("MESSAGE", 7000, npc, null); getTimers().addRepeatingTimer("MESSAGE", 7000, npc, null);
getTimers().addRepeatingTimer("ATTACKERS", 12500, npc, player); getTimers().addRepeatingTimer("ATTACKERS", 12500, npc, player);
((L2Attackable) npc).addDamageHate(generator, 0, 9999); ((L2Attackable) npc).addDamageHate(generator, 0, 9999); // TODO: Find better way for attack
npc.reduceCurrentHp(1, generator, null); // TODO: Find better way for attack npc.reduceCurrentHp(1, generator, null);
} }
break; break;
} }
@ -564,6 +562,11 @@ public final class LabyrinthOfBelis extends AbstractInstance
} }
break; break;
} }
case "GENERATOR_EFFECT":
{
npc.setDisplayEffect(1);
break;
}
case "SPAWN_NEMERTESS": case "SPAWN_NEMERTESS":
{ {
addSpawn(NEMERTESS, NEMERTESS_SPAWN, false, 0, false, world.getId()); addSpawn(NEMERTESS, NEMERTESS_SPAWN, false, 0, false, world.getId());

View File

@ -6539,7 +6539,7 @@
<walk ground="40" /> <walk ground="40" />
<run ground="120" /> <run ground="120" />
</speed> </speed>
<attack physical="37.82932" magical="25.83252" critical="8" attackSpeed="253" range="1100" type="BOW" distance="10" width="0" random="5" accuracy="0" /> <attack physical="37.82932" magical="25.83252" critical="8" attackSpeed="253" range="550" type="BOW" distance="10" width="0" random="5" accuracy="0" />
<defence physical="81.34791" magical="59.52687" /> <defence physical="81.34791" magical="59.52687" />
<abnormalResist physical="10" magical="10" /> <abnormalResist physical="10" magical="10" />
</stats> </stats>

View File

@ -143,22 +143,20 @@ public final class LabyrinthOfBelis extends AbstractInstance
world.setStatus(6); world.setStatus(6);
world.openCloseDoor(DOOR_ID_ROOM_3_2, true); world.openCloseDoor(DOOR_ID_ROOM_3_2, true);
final L2Npc generator = addSpawn(ELECTRICITY_GENERATOR, GENERATOR_SPAWN, false, 0, true, world.getId()); final L2Npc generator = addSpawn(ELECTRICITY_GENERATOR, GENERATOR_SPAWN, false, 0, false, world.getId());
generator.reduceCurrentHp(1, npc, null);
generator.setDisplayEffect(1);
generator.disableCoreAI(true); generator.disableCoreAI(true);
npc.setScriptValue(1); npc.setScriptValue(1);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE);
npc.setTarget(generator); npc.setTarget(generator);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, INFILTRATION_OFFICER_ROOM_3_INSIDE); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, INFILTRATION_OFFICER_ROOM_3_INSIDE);
getTimers().addTimer("GENERATOR_EFFECT", 300, generator, null);
getTimers().addRepeatingTimer("MESSAGE", 7000, npc, null); getTimers().addRepeatingTimer("MESSAGE", 7000, npc, null);
getTimers().addRepeatingTimer("ATTACKERS", 12500, npc, player); getTimers().addRepeatingTimer("ATTACKERS", 12500, npc, player);
((L2Attackable) npc).addDamageHate(generator, 0, 9999); ((L2Attackable) npc).addDamageHate(generator, 0, 9999); // TODO: Find better way for attack
npc.reduceCurrentHp(1, generator, null); // TODO: Find better way for attack npc.reduceCurrentHp(1, generator, null);
} }
break; break;
} }
@ -564,6 +562,11 @@ public final class LabyrinthOfBelis extends AbstractInstance
} }
break; break;
} }
case "GENERATOR_EFFECT":
{
npc.setDisplayEffect(1);
break;
}
case "SPAWN_NEMERTESS": case "SPAWN_NEMERTESS":
{ {
addSpawn(NEMERTESS, NEMERTESS_SPAWN, false, 0, false, world.getId()); addSpawn(NEMERTESS, NEMERTESS_SPAWN, false, 0, false, world.getId());

View File

@ -6539,7 +6539,7 @@
<walk ground="40" /> <walk ground="40" />
<run ground="120" /> <run ground="120" />
</speed> </speed>
<attack physical="37.82932" magical="25.83252" critical="8" attackSpeed="253" range="1100" type="BOW" distance="10" width="0" random="5" accuracy="0" /> <attack physical="37.82932" magical="25.83252" critical="8" attackSpeed="253" range="550" type="BOW" distance="10" width="0" random="5" accuracy="0" />
<defence physical="81.34791" magical="59.52687" /> <defence physical="81.34791" magical="59.52687" />
<abnormalResist physical="10" magical="10" /> <abnormalResist physical="10" magical="10" />
</stats> </stats>

View File

@ -143,22 +143,20 @@ public final class LabyrinthOfBelis extends AbstractInstance
world.setStatus(6); world.setStatus(6);
world.openCloseDoor(DOOR_ID_ROOM_3_2, true); world.openCloseDoor(DOOR_ID_ROOM_3_2, true);
final L2Npc generator = addSpawn(ELECTRICITY_GENERATOR, GENERATOR_SPAWN, false, 0, true, world.getId()); final L2Npc generator = addSpawn(ELECTRICITY_GENERATOR, GENERATOR_SPAWN, false, 0, false, world.getId());
generator.reduceCurrentHp(1, npc, null);
generator.setDisplayEffect(1);
generator.disableCoreAI(true); generator.disableCoreAI(true);
npc.setScriptValue(1); npc.setScriptValue(1);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE);
npc.setTarget(generator); npc.setTarget(generator);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, INFILTRATION_OFFICER_ROOM_3_INSIDE); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, INFILTRATION_OFFICER_ROOM_3_INSIDE);
getTimers().addTimer("GENERATOR_EFFECT", 300, generator, null);
getTimers().addRepeatingTimer("MESSAGE", 7000, npc, null); getTimers().addRepeatingTimer("MESSAGE", 7000, npc, null);
getTimers().addRepeatingTimer("ATTACKERS", 12500, npc, player); getTimers().addRepeatingTimer("ATTACKERS", 12500, npc, player);
((L2Attackable) npc).addDamageHate(generator, 0, 9999); ((L2Attackable) npc).addDamageHate(generator, 0, 9999); // TODO: Find better way for attack
npc.reduceCurrentHp(1, generator, null); // TODO: Find better way for attack npc.reduceCurrentHp(1, generator, null);
} }
break; break;
} }
@ -563,6 +561,11 @@ public final class LabyrinthOfBelis extends AbstractInstance
} }
break; break;
} }
case "GENERATOR_EFFECT":
{
npc.setDisplayEffect(1);
break;
}
case "SPAWN_NEMERTESS": case "SPAWN_NEMERTESS":
{ {
addSpawn(NEMERTESS, NEMERTESS_SPAWN, false, 0, false, world.getId()); addSpawn(NEMERTESS, NEMERTESS_SPAWN, false, 0, false, world.getId());

View File

@ -131,121 +131,101 @@ public final class Q10331_StartOfFate extends Quest
case WARRIOR: case WARRIOR:
{ {
htmltext = "32153-15.htm"; htmltext = "32153-15.htm";
qs.exitQuest(false, true);
break; break;
} }
case KNIGHT: case KNIGHT:
{ {
htmltext = "32153-16.htm"; htmltext = "32153-16.htm";
qs.exitQuest(false, true);
break; break;
} }
case ROGUE: case ROGUE:
{ {
htmltext = "32153-17.htm"; htmltext = "32153-17.htm";
qs.exitQuest(false, true);
break; break;
} }
case WIZARD: case WIZARD:
{ {
htmltext = "32153-18.htm"; htmltext = "32153-18.htm";
qs.exitQuest(false, true);
break; break;
} }
case CLERIC: case CLERIC:
{ {
htmltext = "32153-19.htm"; htmltext = "32153-19.htm";
qs.exitQuest(false, true);
break; break;
} }
case ELVEN_KNIGHT: case ELVEN_KNIGHT:
{ {
htmltext = "32147-14.htm"; htmltext = "32147-14.htm";
qs.exitQuest(false, true);
break; break;
} }
case ELVEN_SCOUT: case ELVEN_SCOUT:
{ {
htmltext = "32147-15.htm"; htmltext = "32147-15.htm";
qs.exitQuest(false, true);
break; break;
} }
case ELVEN_WIZARD: case ELVEN_WIZARD:
{ {
htmltext = "32147-16.htm"; htmltext = "32147-16.htm";
qs.exitQuest(false, true);
break; break;
} }
case ORACLE: case ORACLE:
{ {
htmltext = "32147-17.htm"; htmltext = "32147-17.htm";
qs.exitQuest(false, true);
break; break;
} }
case PALUS_KNIGHT: case PALUS_KNIGHT:
{ {
htmltext = "32160-14.htm"; htmltext = "32160-14.htm";
qs.exitQuest(false, true);
break; break;
} }
case ASSASSIN: case ASSASSIN:
{ {
htmltext = "32160-15.htm"; htmltext = "32160-15.htm";
qs.exitQuest(false, true);
break; break;
} }
case DARK_WIZARD: case DARK_WIZARD:
{ {
htmltext = "32160-16.htm"; htmltext = "32160-16.htm";
qs.exitQuest(false, true);
break; break;
} }
case SHILLIEN_ORACLE: case SHILLIEN_ORACLE:
{ {
htmltext = "32160-17.htm"; htmltext = "32160-17.htm";
qs.exitQuest(false, true);
break; break;
} }
case ORC_RAIDER: case ORC_RAIDER:
{ {
htmltext = "32150-14.htm"; htmltext = "32150-14.htm";
qs.exitQuest(false, true);
break; break;
} }
case ORC_MONK: case ORC_MONK:
{ {
htmltext = "32150-15.htm"; htmltext = "32150-15.htm";
qs.exitQuest(false, true);
break; break;
} }
case ORC_SHAMAN: case ORC_SHAMAN:
{ {
htmltext = "32150-16.htm"; htmltext = "32150-16.htm";
qs.exitQuest(false, true);
break; break;
} }
case SCAVENGER: case SCAVENGER:
{ {
htmltext = "32157-11.htm"; htmltext = "32157-11.htm";
qs.exitQuest(false, true);
break; break;
} }
case ARTISAN: case ARTISAN:
{ {
htmltext = "32157-12.htm"; htmltext = "32157-12.htm";
qs.exitQuest(false, true);
break; break;
} }
case TROOPER: case TROOPER:
{ {
htmltext = "32146-12.htm"; htmltext = "32146-12.htm";
qs.exitQuest(false, true);
break; break;
} }
case WARDER: case WARDER:
{ {
htmltext = "32146-13.htm"; htmltext = "32146-13.htm";
qs.exitQuest(false, true);
break; break;
} }
} }
@ -261,6 +241,7 @@ public final class Q10331_StartOfFate extends Quest
giveItems(player, PAULINAS_SET_D_GRADE, 1); giveItems(player, PAULINAS_SET_D_GRADE, 1);
giveItems(player, PROOF_OF_COURAGE, 40); giveItems(player, PROOF_OF_COURAGE, 40);
addExpAndSp(player, 296000, 15); addExpAndSp(player, 296000, 15);
qs.exitQuest(false, true);
} }
} }
} }
@ -447,6 +428,11 @@ public final class Q10331_StartOfFate extends Quest
{ {
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1:
{
htmltext = "32978-03.htm";
break;
}
case 2: case 2:
{ {
giveItems(player, SARIL_NECKLACE, 1); giveItems(player, SARIL_NECKLACE, 1);
@ -518,7 +504,7 @@ public final class Q10331_StartOfFate extends Quest
break; break;
} }
} }
break;
} }
} }
return htmltext; return htmltext;

View File

@ -6539,7 +6539,7 @@
<walk ground="40" /> <walk ground="40" />
<run ground="120" /> <run ground="120" />
</speed> </speed>
<attack physical="37.82932" magical="25.83252" critical="8" attackSpeed="253" range="1100" type="BOW" distance="10" width="0" random="5" accuracy="0" /> <attack physical="37.82932" magical="25.83252" critical="8" attackSpeed="253" range="550" type="BOW" distance="10" width="0" random="5" accuracy="0" />
<defence physical="81.34791" magical="59.52687" /> <defence physical="81.34791" magical="59.52687" />
<abnormalResist physical="10" magical="10" /> <abnormalResist physical="10" magical="10" />
</stats> </stats>