Several braces code format.

This commit is contained in:
MobiusDev
2017-09-08 17:33:31 +00:00
parent f0043b3271
commit edb23d3285
618 changed files with 10828 additions and 121 deletions

View File

@@ -256,18 +256,26 @@ public final class BeastFarm extends AbstractNpcAI
switch (nextNpcId) switch (nextNpcId)
{ {
case 18869: case 18869:
{
name = name.replace("%name%", "Alpine Kookaburra"); name = name.replace("%name%", "Alpine Kookaburra");
break; break;
}
case 18870: case 18870:
{
name = name.replace("%name%", "Alpine Cougar"); name = name.replace("%name%", "Alpine Cougar");
break; break;
}
case 18871: case 18871:
{
name = name.replace("%name%", "Alpine Buffalo"); name = name.replace("%name%", "Alpine Buffalo");
break; break;
}
case 18872: case 18872:
{
name = name.replace("%name%", "Alpine Grendel"); name = name.replace("%name%", "Alpine Grendel");
break; break;
} }
}
nextNpc.setName(name); nextNpc.setName(name);
nextNpc.broadcastPacket(new NpcInfo(nextNpc)); nextNpc.broadcastPacket(new NpcInfo(nextNpc));
nextNpc.setRunning(); nextNpc.setRunning();

View File

@@ -87,37 +87,49 @@ public final class LargeCocoon extends AbstractNpcAI
switch (getRandom(6)) switch (getRandom(6))
{ {
case 0: case 0:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player);
break; break;
}
case 1: case 1:
{
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER_HARD, npc, false, 90000), player);
break; break;
}
case 2: case 2:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player);
break; break;
}
case 3: case 3:
{
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player);
break; break;
}
case 4: case 4:
{
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player);
break; break;
}
case 5: case 5:
{
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player); addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player);
break; break;
} }
} }
}
npc.deleteMe(); npc.deleteMe();
break; break;
} }
@@ -136,86 +148,122 @@ public final class LargeCocoon extends AbstractNpcAI
switch (getRandom(6)) switch (getRandom(6))
{ {
case 0: case 0:
{
addSpawn(FAIRY_WARRIOR, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WARRIOR, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_ROGUE, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_ROGUE, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 1: case 1:
{
addSpawn(FAIRY_KNIGHT, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_KNIGHT, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_ROGUE, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_ROGUE, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 2: case 2:
{
addSpawn(FAIRY_WARRIOR, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WARRIOR, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_KNIGHT, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_KNIGHT, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 3: case 3:
{
addSpawn(FAIRY_SUMMONER, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_SUMMONER, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WARRIOR, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WARRIOR, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 4: case 4:
{
addSpawn(FAIRY_WITCH, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WITCH, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_SUMMONER, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_SUMMONER, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 5: case 5:
{
addSpawn(FAIRY_SUMMONER, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_SUMMONER, npc.getX() + 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WITCH, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WITCH, npc.getX() + 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break; break;
} }
switch (getRandom(6))
{
case 0:
addSpawn(FAIRY_ROGUE, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WARRIOR, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
case 1:
addSpawn(FAIRY_KNIGHT, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_ROGUE, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
case 2:
addSpawn(FAIRY_WARRIOR, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_KNIGHT, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
case 3:
addSpawn(FAIRY_SUMMONER, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WIZARD, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
case 4:
addSpawn(FAIRY_WITCH, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_SUMMONER, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
case 5:
addSpawn(FAIRY_WIZARD, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WITCH, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
} }
switch (getRandom(6)) switch (getRandom(6))
{ {
case 0: case 0:
{
addSpawn(FAIRY_ROGUE, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WARRIOR, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
}
case 1:
{
addSpawn(FAIRY_KNIGHT, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_ROGUE, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
}
case 2:
{
addSpawn(FAIRY_WARRIOR, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_KNIGHT, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
}
case 3:
{
addSpawn(FAIRY_SUMMONER, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WIZARD, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
}
case 4:
{
addSpawn(FAIRY_WITCH, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_SUMMONER, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
}
case 5:
{
addSpawn(FAIRY_WIZARD, npc.getX() - 270, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WITCH, npc.getX() - 230, npc.getY(), npc.getZ(), npc.getHeading(), false, 0);
break;
}
}
switch (getRandom(6))
{
case 0:
{
addSpawn(FAIRY_ROGUE, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_ROGUE, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WARRIOR, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WARRIOR, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 1: case 1:
{
addSpawn(FAIRY_KNIGHT, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_KNIGHT, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_ROGUE, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_ROGUE, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 2: case 2:
{
addSpawn(FAIRY_WARRIOR, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WARRIOR, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_KNIGHT, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_KNIGHT, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 3: case 3:
{
addSpawn(FAIRY_SUMMONER, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_SUMMONER, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WIZARD, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WIZARD, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 4: case 4:
{
addSpawn(FAIRY_WITCH, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WITCH, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_SUMMONER, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_SUMMONER, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0);
break; break;
}
case 5: case 5:
{
addSpawn(FAIRY_WIZARD, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WIZARD, npc.getX(), npc.getY() + 270, npc.getZ(), npc.getHeading(), false, 0);
addSpawn(FAIRY_WITCH, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0); addSpawn(FAIRY_WITCH, npc.getX(), npc.getY() + 230, npc.getZ(), npc.getHeading(), false, 0);
break; break;
} }
}
return super.onSpawn(npc); return super.onSpawn(npc);
} }
@@ -241,37 +289,49 @@ public final class LargeCocoon extends AbstractNpcAI
switch (getRandom(6)) switch (getRandom(6))
{ {
case 0: case 0:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable);
break; break;
}
case 1: case 1:
{
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER, npc, false, 90000), playable);
break; break;
}
case 2: case 2:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
break; break;
}
case 3: case 3:
{
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable);
break; break;
}
case 4: case 4:
{
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
break; break;
}
case 5: case 5:
{
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable); addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
break; break;
} }
} }
}
npc.deleteMe(); npc.deleteMe();
} }

View File

@@ -93,15 +93,19 @@ public final class ForgeOfTheGods extends AbstractNpcAI
switch (event) switch (event)
{ {
case "suicide": case "suicide":
{
if (npc != null) if (npc != null)
{ {
npc.doDie(null); npc.doDie(null);
} }
break; break;
}
case "refresh": case "refresh":
{
_npcCount = 0; _npcCount = 0;
break; break;
} }
}
return null; return null;
} }

View File

@@ -92,22 +92,32 @@ public final class Rooney extends AbstractNpcAI
switch (aiVal) switch (aiVal)
{ {
case 1: case 1:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HURRY_HURRY); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HURRY_HURRY);
break; break;
}
case 2: case 2:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_AM_NOT_THAT_TYPE_OF_PERSON_WHO_STAYS_IN_ONE_PLACE_FOR_A_LONG_TIME); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_AM_NOT_THAT_TYPE_OF_PERSON_WHO_STAYS_IN_ONE_PLACE_FOR_A_LONG_TIME);
break; break;
}
case 3: case 3:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.IT_S_HARD_FOR_ME_TO_KEEP_STANDING_LIKE_THIS); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.IT_S_HARD_FOR_ME_TO_KEEP_STANDING_LIKE_THIS);
break; break;
}
case 4: case 4:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WHY_DON_T_I_GO_THAT_WAY_THIS_TIME); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WHY_DON_T_I_GO_THAT_WAY_THIS_TIME);
break; break;
}
default: default:
{
npc.teleToLocation(LOCATIONS[getRandom(LOCATIONS.length)], false); npc.teleToLocation(LOCATIONS[getRandom(LOCATIONS.length)], false);
npc.setScriptValue(0); npc.setScriptValue(0);
return null; return null;
} }
}
npc.setScriptValue(aiVal + 1); npc.setScriptValue(aiVal + 1);
startQuestTimer("teleport", 60000, npc, null); startQuestTimer("teleport", 60000, npc, null);
} }

View File

@@ -111,15 +111,21 @@ public final class Spirit extends AbstractNpcAI
switch (npc.getId()) switch (npc.getId())
{ {
case EXECUTED_MAIDEN_VENGEFUL_SPIRIT: case EXECUTED_MAIDEN_VENGEFUL_SPIRIT:
{
startQuestTimer("SPAM_TEXT1", 50000, npc, null, true); startQuestTimer("SPAM_TEXT1", 50000, npc, null, true);
break; break;
}
case SPIRIT_OF_THE_TORTURED_DWARF: case SPIRIT_OF_THE_TORTURED_DWARF:
{
startQuestTimer("SPAM_TEXT2", 50000, npc, null, true); startQuestTimer("SPAM_TEXT2", 50000, npc, null, true);
break; break;
}
case SPIRIT_OF_ONE_BURNED_ALIVE: case SPIRIT_OF_ONE_BURNED_ALIVE:
{
startQuestTimer("SPAM_TEXT3", 50000, npc, null, true); startQuestTimer("SPAM_TEXT3", 50000, npc, null, true);
break; break;
} }
}
return super.onSpawn(npc); return super.onSpawn(npc);
} }

View File

@@ -149,59 +149,89 @@ public final class KetraOrcSupport extends AbstractNpcAI
switch (npc.getId()) switch (npc.getId())
{ {
case KADUN: case KADUN:
{
htmltext = (AllianceLevel > 0) ? "31370-friend.html" : "31370-no.html"; htmltext = (AllianceLevel > 0) ? "31370-friend.html" : "31370-no.html";
break; break;
}
case WAHKAN: case WAHKAN:
{
htmltext = (AllianceLevel > 0) ? "31371-friend.html" : "31371-no.html"; htmltext = (AllianceLevel > 0) ? "31371-friend.html" : "31371-no.html";
break; break;
}
case ASEFA: case ASEFA:
{
htmltext = (AllianceLevel > 0) ? (AllianceLevel < 3) ? "31372-01.html" : "31372-04.html" : "31372-03.html"; htmltext = (AllianceLevel > 0) ? (AllianceLevel < 3) ? "31372-01.html" : "31372-04.html" : "31372-03.html";
break; break;
}
case ATAN: case ATAN:
{
htmltext = (AllianceLevel > 0) ? "31373-friend.html" : "31373-no.html"; htmltext = (AllianceLevel > 0) ? "31373-friend.html" : "31373-no.html";
break; break;
}
case JAFF: case JAFF:
{
htmltext = (AllianceLevel > 0) ? (AllianceLevel == 1) ? "31374-01.html" : "31374-02.html" : "31374-no.html"; htmltext = (AllianceLevel > 0) ? (AllianceLevel == 1) ? "31374-01.html" : "31374-02.html" : "31374-no.html";
break; break;
}
case JUMARA: case JUMARA:
{
switch (AllianceLevel) switch (AllianceLevel)
{ {
case 1: case 1:
case 2: case 2:
{
htmltext = "31375-01.html"; htmltext = "31375-01.html";
break; break;
}
case 3: case 3:
case 4: case 4:
{
htmltext = "31375-02.html"; htmltext = "31375-02.html";
break; break;
}
case 5: case 5:
{
htmltext = "31375-03.html"; htmltext = "31375-03.html";
break; break;
}
default: default:
{
htmltext = "31375-no.html"; htmltext = "31375-no.html";
break; break;
} }
}
break; break;
}
case KURFA: case KURFA:
{
switch (AllianceLevel) switch (AllianceLevel)
{ {
case 1: case 1:
case 2: case 2:
case 3: case 3:
{
htmltext = "31376-01.html"; htmltext = "31376-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "31376-02.html"; htmltext = "31376-02.html";
break; break;
}
case 5: case 5:
{
htmltext = "31376-03.html"; htmltext = "31376-03.html";
break; break;
}
default: default:
{
htmltext = "31376-no.html"; htmltext = "31376-no.html";
break; break;
} }
}
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -115,21 +115,30 @@ public final class PlainsOfLizardman extends AbstractNpcAI
switch (npc.getId()) switch (npc.getId())
{ {
case TANTA_SUMMONER: case TANTA_SUMMONER:
{
if (!npc.isAffectedBySkill(DEMOTIVATION_HEX.getSkillId())) if (!npc.isAffectedBySkill(DEMOTIVATION_HEX.getSkillId()))
{ {
npc.doCast(DEMOTIVATION_HEX.getSkill()); npc.doCast(DEMOTIVATION_HEX.getSkill());
} }
break; break;
}
case RAINBOW_FROG: case RAINBOW_FROG:
{
castSkill(npc, attacker, RAINBOW_FROG_SKILL); castSkill(npc, attacker, RAINBOW_FROG_SKILL);
break; break;
}
case ENERGY_PLANT: case ENERGY_PLANT:
{
castSkill(npc, attacker, ENERGY_PLANT_SKILL); castSkill(npc, attacker, ENERGY_PLANT_SKILL);
break; break;
}
case STICKY_MUSHROOM: case STICKY_MUSHROOM:
{
castSkill(npc, attacker, STICKY_MUSHROOM_SKILL); castSkill(npc, attacker, STICKY_MUSHROOM_SKILL);
break; break;
}
case FANTASY_MUSHROOM: case FANTASY_MUSHROOM:
{
if (npc.isScriptValue(0)) if (npc.isScriptValue(0))
{ {
npc.setScriptValue(1); npc.setScriptValue(1);
@@ -146,6 +155,7 @@ public final class PlainsOfLizardman extends AbstractNpcAI
} }
break; break;
} }
}
return super.onAttack(npc, attacker, damage, isSummon); return super.onAttack(npc, attacker, damage, isSummon);
} }

View File

@@ -152,6 +152,7 @@ public final class Venom extends AbstractNpcAI
switch (event) switch (event)
{ {
case "tower_check": case "tower_check":
{
if (CastleManager.getInstance().getCastleById(CASTLE).getSiege().getControlTowerCount() <= 1) if (CastleManager.getInstance().getCastleById(CASTLE).getSiege().getControlTowerCount() <= 1)
{ {
changeLocation(MoveTo.THRONE); changeLocation(MoveTo.THRONE);
@@ -160,19 +161,24 @@ public final class Venom extends AbstractNpcAI
startQuestTimer("raid_check", 10000, npc, null, true); startQuestTimer("raid_check", 10000, npc, null, true);
} }
break; break;
}
case "raid_check": case "raid_check":
{
if (!npc.isInsideZone(ZoneId.SIEGE) && !npc.isTeleporting()) if (!npc.isInsideZone(ZoneId.SIEGE) && !npc.isTeleporting())
{ {
npc.teleToLocation(_loc); npc.teleToLocation(_loc);
} }
break; break;
}
case "cube_despawn": case "cube_despawn":
{
if (npc != null) if (npc != null)
{ {
npc.deleteMe(); npc.deleteMe();
} }
break; break;
} }
}
return event; return event;
} }
@@ -225,13 +231,18 @@ public final class Venom extends AbstractNpcAI
switch (skill.getId()) switch (skill.getId())
{ {
case 4222: case 4222:
{
npc.teleToLocation(_loc); npc.teleToLocation(_loc);
break; break;
}
case 4995: case 4995:
{
teleportTarget(player); teleportTarget(player);
((L2Attackable) npc).stopHating(player); ((L2Attackable) npc).stopHating(player);
break; break;
}
case 4996: case 4996:
{
teleportTarget(player); teleportTarget(player);
((L2Attackable) npc).stopHating(player); ((L2Attackable) npc).stopHating(player);
if ((_targets != null) && (_targets.size() > 0)) if ((_targets != null) && (_targets.size() > 0))
@@ -252,6 +263,7 @@ public final class Venom extends AbstractNpcAI
} }
break; break;
} }
}
return super.onSpellFinished(npc, player, skill); return super.onSpellFinished(npc, player, skill);
} }
@@ -268,7 +280,6 @@ public final class Venom extends AbstractNpcAI
case VENOM: case VENOM:
{ {
_venom = npc; _venom = npc;
_loc = _venom.getLocation(); _loc = _venom.getLocation();
_venom.disableSkill(VENOM_TELEPORT.getSkill(), -1); _venom.disableSkill(VENOM_TELEPORT.getSkill(), -1);
_venom.disableSkill(RANGE_TELEPORT.getSkill(), -1); _venom.disableSkill(RANGE_TELEPORT.getSkill(), -1);
@@ -344,9 +355,12 @@ public final class Venom extends AbstractNpcAI
switch (loc) switch (loc)
{ {
case THRONE: case THRONE:
{
_venom.teleToLocation(TRHONE, false); _venom.teleToLocation(TRHONE, false);
break; break;
}
case PRISON: case PRISON:
{
if ((_venom == null) || _venom.isDead() || _venom.isDecayed()) if ((_venom == null) || _venom.isDead() || _venom.isDecayed())
{ {
_venom = addSpawn(VENOM, DUNGEON, false, 0); _venom = addSpawn(VENOM, DUNGEON, false, 0);
@@ -359,6 +373,7 @@ public final class Venom extends AbstractNpcAI
cancelQuestTimer("tower_check", _venom, null); cancelQuestTimer("tower_check", _venom, null);
break; break;
} }
}
_loc.setLocation(_venom.getLocation()); _loc.setLocation(_venom.getLocation());
} }

View File

@@ -216,15 +216,21 @@ public final class Maguen extends AbstractNpcAI
switch (getRandom(3)) switch (getRandom(3))
{ {
case 0: case 0:
{
skillToCast = (getRandom(100) < 70) ? B_BUFF_1 : B_BUFF_2; skillToCast = (getRandom(100) < 70) ? B_BUFF_1 : B_BUFF_2;
break; break;
}
case 1: case 1:
{
skillToCast = (getRandom(100) < 70) ? C_BUFF_1 : C_BUFF_2; skillToCast = (getRandom(100) < 70) ? C_BUFF_1 : C_BUFF_2;
break; break;
}
case 2: case 2:
{
skillToCast = (getRandom(100) < 70) ? R_BUFF_1 : R_BUFF_2; skillToCast = (getRandom(100) < 70) ? R_BUFF_1 : R_BUFF_2;
break; break;
} }
}
if (skillToCast != null) if (skillToCast != null)
{ {
@@ -282,15 +288,21 @@ public final class Maguen extends AbstractNpcAI
switch (i1) switch (i1)
{ {
case 0: case 0:
{
skillToCast = B_PLASMA1; skillToCast = B_PLASMA1;
break; break;
}
case 1: case 1:
{
skillToCast = B_PLASMA2; skillToCast = B_PLASMA2;
break; break;
}
case 2: case 2:
{
skillToCast = B_PLASMA3; skillToCast = B_PLASMA3;
break; break;
} }
}
break; break;
} }
case 2: case 2:
@@ -298,15 +310,21 @@ public final class Maguen extends AbstractNpcAI
switch (i2) switch (i2)
{ {
case 0: case 0:
{
skillToCast = C_PLASMA1; skillToCast = C_PLASMA1;
break; break;
}
case 1: case 1:
{
skillToCast = C_PLASMA2; skillToCast = C_PLASMA2;
break; break;
}
case 2: case 2:
{
skillToCast = C_PLASMA3; skillToCast = C_PLASMA3;
break; break;
} }
}
break; break;
} }
case 3: case 3:
@@ -314,15 +332,21 @@ public final class Maguen extends AbstractNpcAI
switch (i3) switch (i3)
{ {
case 0: case 0:
{
skillToCast = R_PLASMA1; skillToCast = R_PLASMA1;
break; break;
}
case 1: case 1:
{
skillToCast = R_PLASMA2; skillToCast = R_PLASMA2;
break; break;
}
case 2: case 2:
{
skillToCast = R_PLASMA3; skillToCast = R_PLASMA3;
break; break;
} }
}
break; break;
} }
} }

View File

@@ -77,17 +77,23 @@ public final class SilentValley extends AbstractNpcAI
switch (event) switch (event)
{ {
case "CLEAR": case "CLEAR":
{
npc.doDie(null); npc.doDie(null);
break; break;
}
case "CLEAR_EVENT": case "CLEAR_EVENT":
{
npc.broadcastEvent("CLEAR_ALL_INSTANT", 2000, null); npc.broadcastEvent("CLEAR_ALL_INSTANT", 2000, null);
npc.doDie(null); npc.doDie(null);
break; break;
}
case "SPAWN_CHEST": case "SPAWN_CHEST":
{
addSpawn(CHEST, npc.getX() - 100, npc.getY(), npc.getZ() - 100, 0, false, 0); addSpawn(CHEST, npc.getX() - 100, npc.getY(), npc.getZ() - 100, 0, false, 0);
break; break;
} }
} }
}
return null; return null;
} }
@@ -190,13 +196,17 @@ public final class SilentValley extends AbstractNpcAI
switch (eventName) switch (eventName)
{ {
case "CLEAR_ALL": case "CLEAR_ALL":
{
startQuestTimer("CLEAR", 60000, receiver, null); startQuestTimer("CLEAR", 60000, receiver, null);
break; break;
}
case "CLEAR_ALL_INSTANT": case "CLEAR_ALL_INSTANT":
{
receiver.doDie(null); receiver.doDie(null);
break; break;
} }
} }
}
return super.onEventReceived(eventName, sender, receiver, reference); return super.onEventReceived(eventName, sender, receiver, reference);
} }

View File

@@ -123,6 +123,7 @@ public final class StakatoNest extends AbstractNpcAI
switch (npc.getId()) switch (npc.getId())
{ {
case STAKATO_NURSE: case STAKATO_NURSE:
{
monster = checkMinion(npc); monster = checkMinion(npc);
if (monster != null) if (monster != null)
{ {
@@ -134,14 +135,18 @@ public final class StakatoNest extends AbstractNpcAI
} }
} }
break; break;
}
case STAKATO_BABY: case STAKATO_BABY:
{
monster = ((L2MonsterInstance) npc).getLeader(); monster = ((L2MonsterInstance) npc).getLeader();
if ((monster != null) && !monster.isDead()) if ((monster != null) && !monster.isDead())
{ {
startQuestTimer("nurse_change", 5000, monster, killer); startQuestTimer("nurse_change", 5000, monster, killer);
} }
break; break;
}
case STAKATO_MALE: case STAKATO_MALE:
{
monster = checkMinion(npc); monster = checkMinion(npc);
if (monster != null) if (monster != null)
{ {
@@ -153,14 +158,18 @@ public final class StakatoNest extends AbstractNpcAI
} }
} }
break; break;
}
case STAKATO_FEMALE: case STAKATO_FEMALE:
{
monster = ((L2MonsterInstance) npc).getLeader(); monster = ((L2MonsterInstance) npc).getLeader();
if ((monster != null) && !monster.isDead()) if ((monster != null) && !monster.isDead())
{ {
startQuestTimer("male_change", 5000, monster, killer); startQuestTimer("male_change", 5000, monster, killer);
} }
break; break;
}
case STAKATO_CHIEF: case STAKATO_CHIEF:
{
if (killer.isInParty()) if (killer.isInParty())
{ {
final List<L2PcInstance> party = killer.getParty().getMembers(); final List<L2PcInstance> party = killer.getParty().getMembers();
@@ -175,6 +184,7 @@ public final class StakatoNest extends AbstractNpcAI
} }
break; break;
} }
}
return super.onKill(npc, killer, isSummon); return super.onKill(npc, killer, isSummon);
} }
@@ -202,12 +212,16 @@ public final class StakatoNest extends AbstractNpcAI
switch (event) switch (event)
{ {
case "nurse_change": case "nurse_change":
{
npcId = STAKATO_NURSE_2; npcId = STAKATO_NURSE_2;
break; break;
}
case "male_change": case "male_change":
{
npcId = STAKATO_MALE_2; npcId = STAKATO_MALE_2;
break; break;
} }
}
if (npcId > 0) if (npcId > 0)
{ {
npc.getSpawn().decreaseCount(npc); npc.getSpawn().decreaseCount(npc);

View File

@@ -82,14 +82,18 @@ public final class Toyron extends AbstractNpcAI
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "33004-01.html"; htmltext = "33004-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "33004-02.html"; htmltext = "33004-02.html";
break; break;
} }
} }
} }
}
return htmltext; return htmltext;
} }

View File

@@ -83,7 +83,9 @@ public final class Trandon extends AbstractNpcAI
case "33490-10.html": case "33490-10.html":
case "33490-11.html": case "33490-11.html":
case "33490-19.html": case "33490-19.html":
{
break; break;
}
case "33490-12.html": case "33490-12.html":
{ {
if (player.getRace().equals(Race.ERTHEIA) || hasAllSubCertifications(player)) if (player.getRace().equals(Race.ERTHEIA) || hasAllSubCertifications(player))

View File

@@ -149,59 +149,89 @@ public final class VarkaSilenosSupport extends AbstractNpcAI
switch (npc.getId()) switch (npc.getId())
{ {
case ASHAS: case ASHAS:
{
htmltext = (AllianceLevel < 0) ? "31377-friend.html" : "31377-no.html"; htmltext = (AllianceLevel < 0) ? "31377-friend.html" : "31377-no.html";
break; break;
}
case NARAN: case NARAN:
{
htmltext = (AllianceLevel < 0) ? "31378-friend.html" : "31378-no.html"; htmltext = (AllianceLevel < 0) ? "31378-friend.html" : "31378-no.html";
break; break;
}
case UDAN: case UDAN:
{
htmltext = (AllianceLevel < 0) ? (AllianceLevel > -3) ? "31379-01.html" : "31379-04.html" : "31379-03.html"; htmltext = (AllianceLevel < 0) ? (AllianceLevel > -3) ? "31379-01.html" : "31379-04.html" : "31379-03.html";
break; break;
}
case DIYABU: case DIYABU:
{
htmltext = (AllianceLevel < 0) ? "31380-friend.html" : "31380-no.html"; htmltext = (AllianceLevel < 0) ? "31380-friend.html" : "31380-no.html";
break; break;
}
case HAGOS: case HAGOS:
{
htmltext = (AllianceLevel < 0) ? (AllianceLevel == -1) ? "31381-01.html" : "31381-02.html" : "31381-no.html"; htmltext = (AllianceLevel < 0) ? (AllianceLevel == -1) ? "31381-01.html" : "31381-02.html" : "31381-no.html";
break; break;
}
case SHIKON: case SHIKON:
{
switch (AllianceLevel) switch (AllianceLevel)
{ {
case -1: case -1:
case -2: case -2:
{
htmltext = "31382-01.html"; htmltext = "31382-01.html";
break; break;
}
case -3: case -3:
case -4: case -4:
{
htmltext = "31382-02.html"; htmltext = "31382-02.html";
break; break;
}
case -5: case -5:
{
htmltext = "31382-03.html"; htmltext = "31382-03.html";
break; break;
}
default: default:
{
htmltext = "31382-no.html"; htmltext = "31382-no.html";
break; break;
} }
}
break; break;
}
case TERANU: case TERANU:
{
switch (AllianceLevel) switch (AllianceLevel)
{ {
case -1: case -1:
case -2: case -2:
case -3: case -3:
{
htmltext = "31383-01.html"; htmltext = "31383-01.html";
break; break;
}
case -4: case -4:
{
htmltext = "31383-02.html"; htmltext = "31383-02.html";
break; break;
}
case -5: case -5:
{
htmltext = "31383-03.html"; htmltext = "31383-03.html";
break; break;
}
default: default:
{
htmltext = "31383-no.html"; htmltext = "31383-no.html";
break; break;
} }
}
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -333,16 +333,22 @@ public final class IstinaCavern extends AbstractInstance
switch (random) switch (random)
{ {
case 1: case 1:
{
showOnScreenMsg(instance, NpcStringId.ISTINA_S_SOUL_STONE_STARTS_POWERFULLY_ILLUMINATING_IN_RED, ExShowScreenMessage.TOP_CENTER, 6000); showOnScreenMsg(instance, NpcStringId.ISTINA_S_SOUL_STONE_STARTS_POWERFULLY_ILLUMINATING_IN_RED, ExShowScreenMessage.TOP_CENTER, 6000);
break; break;
}
case 2: case 2:
{
showOnScreenMsg(instance, NpcStringId.ISTINA_S_SOUL_STONE_STARTS_POWERFULLY_ILLUMINATING_IN_BLUE, ExShowScreenMessage.TOP_CENTER, 6000); showOnScreenMsg(instance, NpcStringId.ISTINA_S_SOUL_STONE_STARTS_POWERFULLY_ILLUMINATING_IN_BLUE, ExShowScreenMessage.TOP_CENTER, 6000);
break; break;
}
case 3: case 3:
{
showOnScreenMsg(instance, NpcStringId.ISTINA_S_SOUL_STONE_STARTS_POWERFULLY_ILLUMINATING_IN_GREEN, ExShowScreenMessage.TOP_CENTER, 6000); showOnScreenMsg(instance, NpcStringId.ISTINA_S_SOUL_STONE_STARTS_POWERFULLY_ILLUMINATING_IN_GREEN, ExShowScreenMessage.TOP_CENTER, 6000);
break; break;
} }
} }
}
getTimers().addTimer("AUTHORITY_TIMER", 70000 + getRandom(25000), npc, null); getTimers().addTimer("AUTHORITY_TIMER", 70000 + getRandom(25000), npc, null);
break; break;
} }
@@ -598,22 +604,32 @@ public final class IstinaCavern extends AbstractInstance
switch (instance.getStatus()) switch (instance.getStatus())
{ {
case 0: case 0:
{
htmltext = "33293-01.html"; htmltext = "33293-01.html";
break; break;
}
case 1: case 1:
{
htmltext = "33293-02.html"; htmltext = "33293-02.html";
break; break;
}
case 2: case 2:
{
htmltext = "33293-03.html"; htmltext = "33293-03.html";
break; break;
}
case 3: case 3:
{
htmltext = "33293-04.html"; htmltext = "33293-04.html";
break; break;
}
case 4: case 4:
{
htmltext = "33293-05.html"; htmltext = "33293-05.html";
break; break;
} }
} }
}
return htmltext; return htmltext;
} }

View File

@@ -52,9 +52,12 @@ public final class QueenShyeed extends AbstractNpcAI
switch (event) switch (event)
{ {
case "respawn": case "respawn":
{
spawnShyeed(); spawnShyeed();
break; break;
}
case "despawn": case "despawn":
{
if (!npc.isDead()) if (!npc.isDead())
{ {
npc.deleteMe(); npc.deleteMe();
@@ -62,6 +65,7 @@ public final class QueenShyeed extends AbstractNpcAI
} }
break; break;
} }
}
return null; return null;
} }

View File

@@ -364,21 +364,29 @@ public final class TeredorWarzone extends AbstractInstance
switch (npc.getParameters().getInt("Spot", 0)) switch (npc.getParameters().getInt("Spot", 0))
{ {
case 1: case 1:
{
npcId = getRandomBoolean() ? TEREDOR_LARVA : MUTANTED_MILLIPADE; npcId = getRandomBoolean() ? TEREDOR_LARVA : MUTANTED_MILLIPADE;
break; break;
}
case 2: case 2:
case 3: case 3:
{
npcId = getRandomBoolean() ? MUTANTED_MILLIPADE : HATCHET_UNDERBUG; npcId = getRandomBoolean() ? MUTANTED_MILLIPADE : HATCHET_UNDERBUG;
break; break;
}
case 4: case 4:
case 5: case 5:
case 6: case 6:
{
npcId = getRandomBoolean() ? MUTANTED_MILLIPADE : HATCHET_UNDERBUG; npcId = getRandomBoolean() ? MUTANTED_MILLIPADE : HATCHET_UNDERBUG;
break; break;
}
case 7: case 7:
{
npcId = getRandomEntry(MUTANTED_MILLIPADE, HATCHET_UNDERBUG, HATCHET_MILLIPADE); npcId = getRandomEntry(MUTANTED_MILLIPADE, HATCHET_UNDERBUG, HATCHET_MILLIPADE);
break; break;
} }
}
if (npcId > 0) if (npcId > 0)
{ {

View File

@@ -364,9 +364,12 @@ public final class Stage1 extends AbstractInstance implements IGameXmlReader
switch (world.getStatus() - 1) switch (world.getStatus() - 1)
{ {
case 0: case 0:
{
spawnFlaggedNPCs(world, 0); spawnFlaggedNPCs(world, 0);
break; break;
}
case 1: case 1:
{
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_ENEMIES_HAVE_ATTACKED_EVERYONE_COME_OUT_AND_FIGHT_URGH, 5, 1000)); world.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_ENEMIES_HAVE_ATTACKED_EVERYONE_COME_OUT_AND_FIGHT_URGH, 5, 1000));
for (int i : ENTRANCE_ROOM_DOORS) for (int i : ENTRANCE_ROOM_DOORS)
{ {
@@ -374,7 +377,9 @@ public final class Stage1 extends AbstractInstance implements IGameXmlReader
} }
spawnFlaggedNPCs(world, 1); spawnFlaggedNPCs(world, 1);
break; break;
}
case 4: case 4:
{
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.OBELISK_HAS_COLLAPSED_DON_T_LET_THE_ENEMIES_JUMP_AROUND_WILDLY_ANYMORE, 5, 1000)); world.broadcastPacket(new ExShowScreenMessage(NpcStringId.OBELISK_HAS_COLLAPSED_DON_T_LET_THE_ENEMIES_JUMP_AROUND_WILDLY_ANYMORE, 5, 1000));
for (int i : SQUARE_DOORS) for (int i : SQUARE_DOORS)
{ {
@@ -382,24 +387,33 @@ public final class Stage1 extends AbstractInstance implements IGameXmlReader
} }
spawnFlaggedNPCs(world, 4); spawnFlaggedNPCs(world, 4);
break; break;
}
case 5: case 5:
{
world.openCloseDoor(SCOUTPASS_DOOR, true); world.openCloseDoor(SCOUTPASS_DOOR, true);
spawnFlaggedNPCs(world, 3); spawnFlaggedNPCs(world, 3);
spawnFlaggedNPCs(world, 5); spawnFlaggedNPCs(world, 5);
break; break;
}
case 6: case 6:
{
world.openCloseDoor(THRONE_DOOR, true); world.openCloseDoor(THRONE_DOOR, true);
break; break;
}
case 7: case 7:
{
spawnFlaggedNPCs(world, 7); spawnFlaggedNPCs(world, 7);
break; break;
}
case 8: case 8:
{
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.COME_OUT_WARRIORS_PROTECT_SEED_OF_DESTRUCTION, 5, 1000)); world.broadcastPacket(new ExShowScreenMessage(NpcStringId.COME_OUT_WARRIORS_PROTECT_SEED_OF_DESTRUCTION, 5, 1000));
world.setParameter("deviceCount", 0); world.setParameter("deviceCount", 0);
spawnFlaggedNPCs(world, 8); spawnFlaggedNPCs(world, 8);
break; break;
} }
} }
}
protected void spawn(Instance world, int npcId, int x, int y, int z, int h, boolean addToKillTable) protected void spawn(Instance world, int npcId, int x, int y, int z, int h, boolean addToKillTable)
{ {

View File

@@ -205,21 +205,31 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (func) switch (func)
{ {
case Castle.FUNC_RESTORE_EXP: case Castle.FUNC_RESTORE_EXP:
{
fee = (level == 45) ? Config.CS_EXPREG1_FEE : Config.CS_EXPREG2_FEE; fee = (level == 45) ? Config.CS_EXPREG1_FEE : Config.CS_EXPREG2_FEE;
break; break;
}
case Castle.FUNC_RESTORE_HP: case Castle.FUNC_RESTORE_HP:
{
fee = (level == 300) ? Config.CS_HPREG1_FEE : Config.CS_HPREG2_FEE; fee = (level == 300) ? Config.CS_HPREG1_FEE : Config.CS_HPREG2_FEE;
break; break;
}
case Castle.FUNC_RESTORE_MP: case Castle.FUNC_RESTORE_MP:
{
fee = (level == 40) ? Config.CS_MPREG1_FEE : Config.CS_MPREG2_FEE; fee = (level == 40) ? Config.CS_MPREG1_FEE : Config.CS_MPREG2_FEE;
break; break;
}
case Castle.FUNC_SUPPORT: case Castle.FUNC_SUPPORT:
{
fee = (level == 5) ? Config.CS_SUPPORT1_FEE : Config.CS_SUPPORT2_FEE; fee = (level == 5) ? Config.CS_SUPPORT1_FEE : Config.CS_SUPPORT2_FEE;
break; break;
}
case Castle.FUNC_TELEPORT: case Castle.FUNC_TELEPORT:
{
fee = (level == 1) ? Config.CS_TELE1_FEE : Config.CS_TELE2_FEE; fee = (level == 1) ? Config.CS_TELE1_FEE : Config.CS_TELE2_FEE;
break; break;
} }
}
return fee; return fee;
} }
@@ -229,21 +239,31 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (func) switch (func)
{ {
case Castle.FUNC_RESTORE_EXP: case Castle.FUNC_RESTORE_EXP:
{
ratio = Config.CS_EXPREG_FEE_RATIO; ratio = Config.CS_EXPREG_FEE_RATIO;
break; break;
}
case Castle.FUNC_RESTORE_HP: case Castle.FUNC_RESTORE_HP:
{
ratio = Config.CS_HPREG_FEE_RATIO; ratio = Config.CS_HPREG_FEE_RATIO;
break; break;
}
case Castle.FUNC_RESTORE_MP: case Castle.FUNC_RESTORE_MP:
{
ratio = Config.CS_MPREG_FEE_RATIO; ratio = Config.CS_MPREG_FEE_RATIO;
break; break;
}
case Castle.FUNC_SUPPORT: case Castle.FUNC_SUPPORT:
{
ratio = Config.CS_SUPPORT_FEE_RATIO; ratio = Config.CS_SUPPORT_FEE_RATIO;
break; break;
}
case Castle.FUNC_TELEPORT: case Castle.FUNC_TELEPORT:
{
ratio = Config.CS_TELE_FEE_RATIO; ratio = Config.CS_TELE_FEE_RATIO;
break; break;
} }
}
return ratio; return ratio;
} }
@@ -257,15 +277,21 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (level) switch (level)
{ {
case 2: case 2:
{
price = Config.OUTER_DOOR_UPGRADE_PRICE2; price = Config.OUTER_DOOR_UPGRADE_PRICE2;
break; break;
}
case 3: case 3:
{
price = Config.OUTER_DOOR_UPGRADE_PRICE3; price = Config.OUTER_DOOR_UPGRADE_PRICE3;
break; break;
}
case 5: case 5:
{
price = Config.OUTER_DOOR_UPGRADE_PRICE5; price = Config.OUTER_DOOR_UPGRADE_PRICE5;
break; break;
} }
}
break; break;
} }
case 2: // Inner Door case 2: // Inner Door
@@ -273,15 +299,21 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (level) switch (level)
{ {
case 2: case 2:
{
price = Config.INNER_DOOR_UPGRADE_PRICE2; price = Config.INNER_DOOR_UPGRADE_PRICE2;
break; break;
}
case 3: case 3:
{
price = Config.INNER_DOOR_UPGRADE_PRICE3; price = Config.INNER_DOOR_UPGRADE_PRICE3;
break; break;
}
case 5: case 5:
{
price = Config.INNER_DOOR_UPGRADE_PRICE5; price = Config.INNER_DOOR_UPGRADE_PRICE5;
break; break;
} }
}
break; break;
} }
case 3: // Wall case 3: // Wall
@@ -289,15 +321,21 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (level) switch (level)
{ {
case 2: case 2:
{
price = Config.WALL_UPGRADE_PRICE2; price = Config.WALL_UPGRADE_PRICE2;
break; break;
}
case 3: case 3:
{
price = Config.WALL_UPGRADE_PRICE3; price = Config.WALL_UPGRADE_PRICE3;
break; break;
}
case 5: case 5:
{
price = Config.WALL_UPGRADE_PRICE5; price = Config.WALL_UPGRADE_PRICE5;
break; break;
} }
}
break; break;
} }
} }
@@ -310,18 +348,26 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (level) switch (level)
{ {
case 1: case 1:
{
price = Config.TRAP_UPGRADE_PRICE1; price = Config.TRAP_UPGRADE_PRICE1;
break; break;
}
case 2: case 2:
{
price = Config.TRAP_UPGRADE_PRICE2; price = Config.TRAP_UPGRADE_PRICE2;
break; break;
}
case 3: case 3:
{
price = Config.TRAP_UPGRADE_PRICE3; price = Config.TRAP_UPGRADE_PRICE3;
break; break;
}
case 4: case 4:
{
price = Config.TRAP_UPGRADE_PRICE4; price = Config.TRAP_UPGRADE_PRICE4;
break; break;
} }
}
return price; return price;
} }
@@ -379,15 +425,21 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (fortress.getFortState()) switch (fortress.getFortState())
{ {
case 1: case 1:
{
fortStatus = "1300122"; fortStatus = "1300122";
break; break;
}
case 2: case 2:
{
fortStatus = "1300124"; fortStatus = "1300124";
break; break;
}
default: default:
{
fortStatus = "1300123"; fortStatus = "1300123";
break; break;
} }
}
sb.append("<fstring>1300" + fortId + "</fstring>"); sb.append("<fstring>1300" + fortId + "</fstring>");
sb.append(" (<fstring>" + fortType + "</fstring>)"); sb.append(" (<fstring>" + fortType + "</fstring>)");
sb.append(" : <font color=\"00FFFF\"><fstring>" + fortStatus + "</fstring></font><br>"); sb.append(" : <font color=\"00FFFF\"><fstring>" + fortStatus + "</fstring></font><br>");
@@ -1144,15 +1196,22 @@ public final class CastleChamberlain extends AbstractNpcAI
switch (evt.getRequest()) switch (evt.getRequest())
{ {
case 3: // Seed info case 3: // Seed info
{
player.sendPacket(new ExShowSeedInfo(castleId, evt.isNextPeriod(), true)); player.sendPacket(new ExShowSeedInfo(castleId, evt.isNextPeriod(), true));
break; break;
}
case 4: // Crop info case 4: // Crop info
{
player.sendPacket(new ExShowCropInfo(castleId, evt.isNextPeriod(), true)); player.sendPacket(new ExShowCropInfo(castleId, evt.isNextPeriod(), true));
break; break;
}
case 5: // Basic info case 5: // Basic info
{
player.sendPacket(new ExShowManorDefaultInfo(true)); player.sendPacket(new ExShowManorDefaultInfo(true));
break; break;
}
case 7: // Seed settings case 7: // Seed settings
{
if (manor.isManorApproved()) if (manor.isManorApproved())
{ {
player.sendPacket(SystemMessageId.A_MANOR_CANNOT_BE_SET_UP_BETWEEN_4_30_AM_AND_8_PM); player.sendPacket(SystemMessageId.A_MANOR_CANNOT_BE_SET_UP_BETWEEN_4_30_AM_AND_8_PM);
@@ -1160,7 +1219,9 @@ public final class CastleChamberlain extends AbstractNpcAI
} }
player.sendPacket(new ExShowSeedSetting(castleId)); player.sendPacket(new ExShowSeedSetting(castleId));
break; break;
}
case 8: // Crop settings case 8: // Crop settings
{
if (manor.isManorApproved()) if (manor.isManorApproved())
{ {
player.sendPacket(SystemMessageId.A_MANOR_CANNOT_BE_SET_UP_BETWEEN_4_30_AM_AND_8_PM); player.sendPacket(SystemMessageId.A_MANOR_CANNOT_BE_SET_UP_BETWEEN_4_30_AM_AND_8_PM);
@@ -1168,11 +1229,14 @@ public final class CastleChamberlain extends AbstractNpcAI
} }
player.sendPacket(new ExShowCropSetting(castleId)); player.sendPacket(new ExShowCropSetting(castleId));
break; break;
}
default: default:
{
_log.warning(getClass().getSimpleName() + ": Player " + player.getName() + " (" + player.getObjectId() + ") send unknown request id " + evt.getRequest() + "!"); _log.warning(getClass().getSimpleName() + ": Player " + player.getName() + " (" + player.getObjectId() + ") send unknown request id " + evt.getRequest() + "!");
} }
} }
} }
}
public static void main(String[] args) public static void main(String[] args)
{ {

View File

@@ -103,25 +103,35 @@ public final class CastleTeleporter extends AbstractNpcAI
final int unknowInt = Integer.parseInt(st.nextToken()); final int unknowInt = Integer.parseInt(st.nextToken());
final StatsSet npcParams = npc.getParameters(); final StatsSet npcParams = npc.getParameters();
Location teleLoc = null; Location teleLoc = null;
switch (unknowInt) switch (unknowInt)
{ {
case 0: case 0:
{
teleLoc = getTeleportLocation(npcParams, "01", "02", "03"); teleLoc = getTeleportLocation(npcParams, "01", "02", "03");
break; break;
}
case 1: case 1:
{
teleLoc = getTeleportLocation(npcParams, "11", "12", "13"); teleLoc = getTeleportLocation(npcParams, "11", "12", "13");
break; break;
}
case 2: case 2:
{
teleLoc = getTeleportLocation(npcParams, "21", "22", "23"); teleLoc = getTeleportLocation(npcParams, "21", "22", "23");
break; break;
}
case 3: case 3:
{
teleLoc = getTeleportLocation(npcParams, "31", "32", "33"); teleLoc = getTeleportLocation(npcParams, "31", "32", "33");
break; break;
}
case 4: case 4:
{
teleLoc = getTeleportLocation(npcParams, "41", "42", "43"); teleLoc = getTeleportLocation(npcParams, "41", "42", "43");
break; break;
}
case 5: case 5:
{
if (isOwner(player, npc)) if (isOwner(player, npc))
{ {
teleLoc = new Location(npcParams.getInt("pos_x51"), npcParams.getInt("pos_y51"), npcParams.getInt("pos_z51")); teleLoc = new Location(npcParams.getInt("pos_x51"), npcParams.getInt("pos_y51"), npcParams.getInt("pos_z51"));
@@ -132,6 +142,7 @@ public final class CastleTeleporter extends AbstractNpcAI
} }
break; break;
} }
}
if (teleLoc != null) if (teleLoc != null)
{ {
@@ -209,7 +220,9 @@ public final class CastleTeleporter extends AbstractNpcAI
case 35308: case 35308:
case 35352: case 35352:
case 35544: case 35544:
{
return "CastleTeleporter-01"; return "CastleTeleporter-01";
}
case 35093: case 35093:
case 35135: case 35135:
case 35177: case 35177:
@@ -217,7 +230,9 @@ public final class CastleTeleporter extends AbstractNpcAI
case 35309: case 35309:
case 35353: case 35353:
case 35545: case 35545:
{
return "CastleTeleporter-02"; return "CastleTeleporter-02";
}
case 35094: case 35094:
case 35136: case 35136:
case 35178: case 35178:
@@ -225,8 +240,10 @@ public final class CastleTeleporter extends AbstractNpcAI
case 35310: case 35310:
case 35354: case 35354:
case 35546: case 35546:
{
return "CastleTeleporter-03"; return "CastleTeleporter-03";
} }
}
return String.valueOf(npc.getId()); return String.valueOf(npc.getId());
} }

View File

@@ -61,11 +61,16 @@ public final class CastleWarehouse extends AbstractNpcAI
case "warehouse-01.html": case "warehouse-01.html":
case "warehouse-02.html": case "warehouse-02.html":
case "warehouse-03.html": case "warehouse-03.html":
{
break; break;
}
case "warehouse-04.html": case "warehouse-04.html":
{
htmltext = (!isMyLord) ? "warehouse-no.html" : getHtm(player.getHtmlPrefix(), "warehouse-04.html").replace("%blood%", Integer.toString(player.getClan().getBloodAllianceCount())); htmltext = (!isMyLord) ? "warehouse-no.html" : getHtm(player.getHtmlPrefix(), "warehouse-04.html").replace("%blood%", Integer.toString(player.getClan().getBloodAllianceCount()));
break; break;
}
case "Receive": case "Receive":
{
if (!isMyLord) if (!isMyLord)
{ {
htmltext = "warehouse-no.html"; htmltext = "warehouse-no.html";
@@ -81,7 +86,9 @@ public final class CastleWarehouse extends AbstractNpcAI
htmltext = "warehouse-06.html"; htmltext = "warehouse-06.html";
} }
break; break;
}
case "Exchange": case "Exchange":
{
if (!isMyLord) if (!isMyLord)
{ {
htmltext = "warehouse-no.html"; htmltext = "warehouse-no.html";
@@ -97,10 +104,13 @@ public final class CastleWarehouse extends AbstractNpcAI
htmltext = "warehouse-07.html"; htmltext = "warehouse-07.html";
} }
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -272,11 +272,15 @@ public final class ClanHallManager extends AbstractNpcAI
case 1: case 1:
case 2: case 2:
case 3: case 3:
{
((L2MerchantInstance) npc).showBuyWindow(player, Integer.parseInt(npc.getId() + "0" + (itemLevel - 1))); ((L2MerchantInstance) npc).showBuyWindow(player, Integer.parseInt(npc.getId() + "0" + (itemLevel - 1)));
break; break;
}
default: default:
{
htmltext = "ClanHallManager-noFunction.html"; htmltext = "ClanHallManager-noFunction.html";
} }
}
break; break;
} }
} }

View File

@@ -103,14 +103,20 @@ public final class EnergySeeds extends AbstractNpcAI
switch (seed) switch (seed)
{ {
case INFINITY: case INFINITY:
{
return false; return false;
}
case DESTRUCTION: case DESTRUCTION:
{
return GraciaSeedsManager.getInstance().getSoDState() == 2; return GraciaSeedsManager.getInstance().getSoDState() == 2;
}
case ANNIHILATION_BISTAKON: case ANNIHILATION_BISTAKON:
case ANNIHILATION_REPTILIKON: case ANNIHILATION_REPTILIKON:
case ANNIHILATION_COKRAKON: case ANNIHILATION_COKRAKON:
{
return true; return true;
} }
}
return true; return true;
} }
@@ -136,26 +142,40 @@ public final class EnergySeeds extends AbstractNpcAI
switch (npc.getId()) switch (npc.getId())
{ {
case 18678: // Water case 18678: // Water
{
itemId = 14016; itemId = 14016;
break; break;
}
case 18679: // Fire case 18679: // Fire
{
itemId = 14015; itemId = 14015;
break; break;
}
case 18680: // Wind case 18680: // Wind
{
itemId = 14017; itemId = 14017;
break; break;
}
case 18681: // Earth case 18681: // Earth
{
itemId = 14018; itemId = 14018;
break; break;
}
case 18682: // Divinity case 18682: // Divinity
{
itemId = 14020; itemId = 14020;
break; break;
}
case 18683: // Darkness case 18683: // Darkness
{
itemId = 14019; itemId = 14019;
break; break;
}
default: default:
{
return super.onSkillSee(npc, caster, skill, targets, isSummon); return super.onSkillSee(npc, caster, skill, targets, isSummon);
} }
}
if (getRandom(100) < 33) if (getRandom(100) < 33)
{ {

View File

@@ -79,9 +79,11 @@ public final class ManorManager extends AbstractNpcAI
case "manager-help-01.htm": case "manager-help-01.htm":
case "manager-help-02.htm": case "manager-help-02.htm":
case "manager-help-03.htm": case "manager-help-03.htm":
{
htmltext = event; htmltext = event;
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -130,27 +132,41 @@ public final class ManorManager extends AbstractNpcAI
break; break;
} }
case 2: // Crop sales case 2: // Crop sales
{
player.sendPacket(new ExShowSellCropList(player.getInventory(), castleId)); player.sendPacket(new ExShowSellCropList(player.getInventory(), castleId));
break; break;
}
case 3: // Seed info case 3: // Seed info
{
player.sendPacket(new ExShowSeedInfo(castleId, evt.isNextPeriod(), false)); player.sendPacket(new ExShowSeedInfo(castleId, evt.isNextPeriod(), false));
break; break;
}
case 4: // Crop info case 4: // Crop info
{
player.sendPacket(new ExShowCropInfo(castleId, evt.isNextPeriod(), false)); player.sendPacket(new ExShowCropInfo(castleId, evt.isNextPeriod(), false));
break; break;
}
case 5: // Basic info case 5: // Basic info
{
player.sendPacket(new ExShowManorDefaultInfo(false)); player.sendPacket(new ExShowManorDefaultInfo(false));
break; break;
}
case 6: // Buy harvester case 6: // Buy harvester
{
((L2MerchantInstance) npc).showBuyWindow(player, 300000 + npc.getId()); ((L2MerchantInstance) npc).showBuyWindow(player, 300000 + npc.getId());
break; break;
}
case 9: // Edit sales (Crop sales) case 9: // Edit sales (Crop sales)
{
player.sendPacket(new ExShowProcureCropDetail(evt.getManorId())); player.sendPacket(new ExShowProcureCropDetail(evt.getManorId()));
break; break;
}
default: default:
{
_log.warning(getClass().getSimpleName() + ": Player " + player.getName() + " (" + player.getObjectId() + ") send unknown request id " + evt.getRequest() + "!"); _log.warning(getClass().getSimpleName() + ": Player " + player.getName() + " (" + player.getObjectId() + ") send unknown request id " + evt.getRequest() + "!");
} }
} }
}
public static void main(String[] args) public static void main(String[] args)
{ {

View File

@@ -57,25 +57,33 @@ public final class StarStones extends AbstractNpcAI
case 18684: case 18684:
case 18685: case 18685:
case 18686: case 18686:
{
// give Red item // give Red item
itemId = 14009; itemId = 14009;
break; break;
}
case 18687: case 18687:
case 18688: case 18688:
case 18689: case 18689:
{
// give Blue item // give Blue item
itemId = 14010; itemId = 14010;
break; break;
}
case 18690: case 18690:
case 18691: case 18691:
case 18692: case 18692:
{
// give Green item // give Green item
itemId = 14011; itemId = 14011;
break; break;
}
default: default:
{
// unknown npc! // unknown npc!
return super.onSkillSee(npc, caster, skill, targets, isSummon); return super.onSkillSee(npc, caster, skill, targets, isSummon);
} }
}
if (getRandom(100) < 33) if (getRandom(100) < 33)
{ {
caster.sendPacket(SystemMessageId.YOUR_COLLECTION_HAS_SUCCEEDED); caster.sendPacket(SystemMessageId.YOUR_COLLECTION_HAS_SUCCEEDED);

View File

@@ -86,14 +86,20 @@ public final class AdminClanHall implements IAdminCommandHandler
switch (actionVal) switch (actionVal)
{ {
case "inside": case "inside":
{
loc = clanHall.getOwnerLocation(); loc = clanHall.getOwnerLocation();
break; break;
}
case "outside": case "outside":
{
loc = clanHall.getBanishLocation(); loc = clanHall.getBanishLocation();
break; break;
}
default: default:
{
loc = player.getLocation(); loc = player.getLocation();
} }
}
player.teleToLocation(loc); player.teleToLocation(loc);
} }
break; break;

View File

@@ -192,29 +192,43 @@ public class AdminLogin implements IAdminCommandHandler
switch (currentType) switch (currentType)
{ {
case 0x01: case 0x01:
{
nameType += "Normal"; nameType += "Normal";
break; break;
}
case 0x02: case 0x02:
{
nameType += "Relax"; nameType += "Relax";
break; break;
}
case 0x04: case 0x04:
{
nameType += "Test"; nameType += "Test";
break; break;
}
case 0x08: case 0x08:
{
nameType += "NoLabel"; nameType += "NoLabel";
break; break;
}
case 0x10: case 0x10:
{
nameType += "Restricted"; nameType += "Restricted";
break; break;
}
case 0x20: case 0x20:
{
nameType += "Event"; nameType += "Event";
break; break;
}
case 0x40: case 0x40:
{
nameType += "Free"; nameType += "Free";
break; break;
} }
} }
} }
}
return nameType; return nameType;
} }

View File

@@ -128,36 +128,52 @@ public final class AdminPForge implements IAdminCommandHandler
case 'B': case 'B':
case 'x': case 'x':
case 'X': case 'X':
{
// array // array
break; break;
}
case 'c': case 'c':
case 'C': case 'C':
{
// byte // byte
break; break;
}
case 'h': case 'h':
case 'H': case 'H':
{
// word // word
break; break;
}
case 'd': case 'd':
case 'D': case 'D':
{
// dword // dword
break; break;
}
case 'q': case 'q':
case 'Q': case 'Q':
{
// qword // qword
break; break;
}
case 'f': case 'f':
case 'F': case 'F':
{
// double // double
break; break;
}
case 's': case 's':
case 'S': case 'S':
{
// string // string
break; break;
}
default: default:
{
return false; return false;
} }
} }
}
return true; return true;
} }
@@ -169,8 +185,10 @@ public final class AdminPForge implements IAdminCommandHandler
case "sc": case "sc":
case "sb": case "sb":
case "cs": case "cs":
{
return true; return true;
} }
}
return false; return false;
} }
@@ -401,9 +419,12 @@ public final class AdminPForge implements IAdminCommandHandler
switch (value) switch (value)
{ {
case "$oid": case "$oid":
{
value = String.valueOf(activeChar.getObjectId()); value = String.valueOf(activeChar.getObjectId());
break; break;
}
case "$boid": case "$boid":
{
boat = activeChar.getBoat(); boat = activeChar.getBoat();
if (boat != null) if (boat != null)
{ {
@@ -414,28 +435,44 @@ public final class AdminPForge implements IAdminCommandHandler
value = "0"; value = "0";
} }
break; break;
}
case "$title": case "$title":
{
value = activeChar.getTitle(); value = activeChar.getTitle();
break; break;
}
case "$name": case "$name":
{
value = activeChar.getName(); value = activeChar.getName();
break; break;
}
case "$x": case "$x":
{
value = String.valueOf(activeChar.getX()); value = String.valueOf(activeChar.getX());
break; break;
}
case "$y": case "$y":
{
value = String.valueOf(activeChar.getY()); value = String.valueOf(activeChar.getY());
break; break;
}
case "$z": case "$z":
{
value = String.valueOf(activeChar.getZ()); value = String.valueOf(activeChar.getZ());
break; break;
}
case "$heading": case "$heading":
{
value = String.valueOf(activeChar.getHeading()); value = String.valueOf(activeChar.getHeading());
break; break;
}
case "$toid": case "$toid":
{
value = String.valueOf(activeChar.getTargetId()); value = String.valueOf(activeChar.getTargetId());
break; break;
}
case "$tboid": case "$tboid":
{
target = activeChar.getTarget(); target = activeChar.getTarget();
if ((target != null) && (target instanceof L2Playable)) if ((target != null) && (target instanceof L2Playable))
{ {
@@ -450,7 +487,9 @@ public final class AdminPForge implements IAdminCommandHandler
} }
} }
break; break;
}
case "$ttitle": case "$ttitle":
{
target = activeChar.getTarget(); target = activeChar.getTarget();
if ((target != null) && (target instanceof L2Character)) if ((target != null) && (target instanceof L2Character))
{ {
@@ -461,7 +500,9 @@ public final class AdminPForge implements IAdminCommandHandler
value = ""; value = "";
} }
break; break;
}
case "$tname": case "$tname":
{
target = activeChar.getTarget(); target = activeChar.getTarget();
if (target != null) if (target != null)
{ {
@@ -472,7 +513,9 @@ public final class AdminPForge implements IAdminCommandHandler
value = ""; value = "";
} }
break; break;
}
case "$tx": case "$tx":
{
target = activeChar.getTarget(); target = activeChar.getTarget();
if (target != null) if (target != null)
{ {
@@ -483,7 +526,9 @@ public final class AdminPForge implements IAdminCommandHandler
value = "0"; value = "0";
} }
break; break;
}
case "$ty": case "$ty":
{
target = activeChar.getTarget(); target = activeChar.getTarget();
if (target != null) if (target != null)
{ {
@@ -494,7 +539,9 @@ public final class AdminPForge implements IAdminCommandHandler
value = "0"; value = "0";
} }
break; break;
}
case "$tz": case "$tz":
{
target = activeChar.getTarget(); target = activeChar.getTarget();
if (target != null) if (target != null)
{ {
@@ -505,7 +552,9 @@ public final class AdminPForge implements IAdminCommandHandler
value = "0"; value = "0";
} }
break; break;
}
case "$theading": case "$theading":
{
target = activeChar.getTarget(); target = activeChar.getTarget();
if (target != null) if (target != null)
{ {
@@ -517,6 +566,7 @@ public final class AdminPForge implements IAdminCommandHandler
} }
break; break;
} }
}
if (method.equals("sc") || method.equals("sb")) if (method.equals("sc") || method.equals("sb"))
{ {

View File

@@ -375,16 +375,22 @@ public class AdminSpawn implements IAdminCommandHandler
{ {
default: default:
case 0: case 0:
{
_log.info("('',1," + i + "," + x + "," + y + "," + z + ",0,0," + h + ",60,0,0),"); _log.info("('',1," + i + "," + x + "," + y + "," + z + ",0,0," + h + ",60,0,0),");
break; break;
}
case 1: case 1:
{
_log.info("<spawn npcId=\"" + i + "\" x=\"" + x + "\" y=\"" + y + "\" z=\"" + z + "\" heading=\"" + h + "\" respawn=\"0\" />"); _log.info("<spawn npcId=\"" + i + "\" x=\"" + x + "\" y=\"" + y + "\" z=\"" + z + "\" heading=\"" + h + "\" respawn=\"0\" />");
break; break;
}
case 2: case 2:
{
_log.info("{ " + i + ", " + x + ", " + y + ", " + z + ", " + h + " },"); _log.info("{ " + i + ", " + x + ", " + y + ", " + z + ", " + h + " },");
break; break;
} }
} }
}
private void spawnMonster(L2PcInstance activeChar, String monsterId, int respawnTime, int mobCount, boolean permanent) private void spawnMonster(L2PcInstance activeChar, String monsterId, int respawnTime, int mobCount, boolean permanent)
{ {

View File

@@ -328,24 +328,36 @@ public class AdminTeleport implements IAdminCommandHandler
switch (player.getRace()) switch (player.getRace())
{ {
case ELF: case ELF:
{
regionName = "elf_town"; regionName = "elf_town";
break; break;
}
case DARK_ELF: case DARK_ELF:
{
regionName = "darkelf_town"; regionName = "darkelf_town";
break; break;
}
case ORC: case ORC:
{
regionName = "orc_town"; regionName = "orc_town";
break; break;
}
case DWARF: case DWARF:
{
regionName = "dwarf_town"; regionName = "dwarf_town";
break; break;
}
case KAMAEL: case KAMAEL:
{
regionName = "kamael_town"; regionName = "kamael_town";
break; break;
}
case HUMAN: case HUMAN:
default: default:
{
regionName = "talking_island_town"; regionName = "talking_island_town";
} }
}
player.teleToLocation(MapRegionManager.getInstance().getMapRegionByName(regionName).getSpawnLoc(), true, null); player.teleToLocation(MapRegionManager.getInstance().getMapRegionByName(regionName).getSpawnLoc(), true, null);
} }

View File

@@ -44,13 +44,17 @@ public class Augment implements IBypassHandler
switch (Integer.parseInt(command.substring(8, 9).trim())) switch (Integer.parseInt(command.substring(8, 9).trim()))
{ {
case 1: case 1:
{
activeChar.sendPacket(ExShowVariationMakeWindow.STATIC_PACKET); activeChar.sendPacket(ExShowVariationMakeWindow.STATIC_PACKET);
return true; return true;
}
case 2: case 2:
{
activeChar.sendPacket(ExShowVariationCancelWindow.STATIC_PACKET); activeChar.sendPacket(ExShowVariationCancelWindow.STATIC_PACKET);
return true; return true;
} }
} }
}
catch (Exception e) catch (Exception e)
{ {
_log.log(Level.WARNING, "Exception in " + getClass().getSimpleName(), e); _log.log(Level.WARNING, "Exception in " + getClass().getSimpleName(), e);

View File

@@ -78,11 +78,15 @@ public class KarmaCount extends AbstractEffect
switch (_mode) switch (_mode)
{ {
case 0: // diff case 0: // diff
{
final int newReputation = Math.min(player.getReputation() + _amount, 0); final int newReputation = Math.min(player.getReputation() + _amount, 0);
player.setReputation(newReputation); player.setReputation(newReputation);
break; break;
}
case 1: // reset case 1: // reset
{
player.setReputation(0); player.setReputation(0);
} }
} }
}
} }

View File

@@ -48,14 +48,20 @@ public class EventItem implements IItemHandler
switch (itemId) switch (itemId)
{ {
case 13787: // Handy's Block Checker Bond case 13787: // Handy's Block Checker Bond
{
used = useBlockCheckerItem(activeChar, item); used = useBlockCheckerItem(activeChar, item);
break; break;
}
case 13788: // Handy's Block Checker Land Mine case 13788: // Handy's Block Checker Land Mine
{
used = useBlockCheckerItem(activeChar, item); used = useBlockCheckerItem(activeChar, item);
break; break;
}
default: default:
{
_log.warning("EventItemHandler: Item with id: " + itemId + " is not handled"); _log.warning("EventItemHandler: Item with id: " + itemId + " is not handled");
} }
}
return used; return used;
} }

View File

@@ -57,20 +57,26 @@ public final class SocialAction implements IPlayerActionHandler
case 15: // Shyness case 15: // Shyness
case 28: // Propose case 28: // Propose
case 29: // Provoke case 29: // Provoke
{
useSocial(activeChar, data.getOptionId()); useSocial(activeChar, data.getOptionId());
break; break;
}
case 30: // Beauty Shop case 30: // Beauty Shop
{
if (useSocial(activeChar, data.getOptionId())) if (useSocial(activeChar, data.getOptionId()))
{ {
activeChar.broadcastInfo(); activeChar.broadcastInfo();
} }
break; break;
}
case 16: // Exchange Bows case 16: // Exchange Bows
case 17: // High Five case 17: // High Five
case 18: // Couple Dance case 18: // Couple Dance
{
useCoupleSocial(activeChar, data.getOptionId()); useCoupleSocial(activeChar, data.getOptionId());
} }
} }
}
private boolean useSocial(L2PcInstance activeChar, int id) private boolean useSocial(L2PcInstance activeChar, int id)
{ {

View File

@@ -62,54 +62,86 @@ public class Enchant implements ITelnetCommand
switch (itemType) switch (itemType)
{ {
case 1: case 1:
{
itemType = Inventory.PAPERDOLL_HEAD; itemType = Inventory.PAPERDOLL_HEAD;
break; break;
}
case 2: case 2:
{
itemType = Inventory.PAPERDOLL_CHEST; itemType = Inventory.PAPERDOLL_CHEST;
break; break;
}
case 3: case 3:
{
itemType = Inventory.PAPERDOLL_GLOVES; itemType = Inventory.PAPERDOLL_GLOVES;
break; break;
}
case 4: case 4:
{
itemType = Inventory.PAPERDOLL_FEET; itemType = Inventory.PAPERDOLL_FEET;
break; break;
}
case 5: case 5:
{
itemType = Inventory.PAPERDOLL_LEGS; itemType = Inventory.PAPERDOLL_LEGS;
break; break;
}
case 6: case 6:
{
itemType = Inventory.PAPERDOLL_RHAND; itemType = Inventory.PAPERDOLL_RHAND;
break; break;
}
case 7: case 7:
{
itemType = Inventory.PAPERDOLL_LHAND; itemType = Inventory.PAPERDOLL_LHAND;
break; break;
}
case 8: case 8:
{
itemType = Inventory.PAPERDOLL_LEAR; itemType = Inventory.PAPERDOLL_LEAR;
break; break;
}
case 9: case 9:
{
itemType = Inventory.PAPERDOLL_REAR; itemType = Inventory.PAPERDOLL_REAR;
break; break;
}
case 10: case 10:
{
itemType = Inventory.PAPERDOLL_LFINGER; itemType = Inventory.PAPERDOLL_LFINGER;
break; break;
}
case 11: case 11:
{
itemType = Inventory.PAPERDOLL_RFINGER; itemType = Inventory.PAPERDOLL_RFINGER;
break; break;
}
case 12: case 12:
{
itemType = Inventory.PAPERDOLL_NECK; itemType = Inventory.PAPERDOLL_NECK;
break; break;
}
case 13: case 13:
{
itemType = Inventory.PAPERDOLL_UNDER; itemType = Inventory.PAPERDOLL_UNDER;
break; break;
}
case 14: case 14:
{
itemType = Inventory.PAPERDOLL_CLOAK; itemType = Inventory.PAPERDOLL_CLOAK;
break; break;
}
case 15: case 15:
{
itemType = Inventory.PAPERDOLL_BELT; itemType = Inventory.PAPERDOLL_BELT;
break; break;
}
default: default:
{
itemType = 0; itemType = 0;
break; break;
} }
}
final boolean success = setEnchant(player, enchant, itemType); final boolean success = setEnchant(player, enchant, itemType);
return success ? "Item has been successfully enchanted." : "Failed to enchant player's item!"; return success ? "Item has been successfully enchanted." : "Failed to enchant player's item!";
} }

View File

@@ -47,21 +47,31 @@ public class PartyInfo implements IUserCommandHandler
switch (party.getDistributionType()) switch (party.getDistributionType())
{ {
case FINDERS_KEEPERS: case FINDERS_KEEPERS:
{
activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_FINDERS_KEEPERS); activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_FINDERS_KEEPERS);
break; break;
}
case RANDOM: case RANDOM:
{
activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_RANDOM); activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_RANDOM);
break; break;
}
case RANDOM_INCLUDING_SPOIL: case RANDOM_INCLUDING_SPOIL:
{
activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_RANDOM_INCLUDING_SPOIL); activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_RANDOM_INCLUDING_SPOIL);
break; break;
}
case BY_TURN: case BY_TURN:
{
activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_BY_TURN); activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_BY_TURN);
break; break;
}
case BY_TURN_INCLUDING_SPOIL: case BY_TURN_INCLUDING_SPOIL:
{
activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_BY_TURN_INCLUDING_SPOIL); activeChar.sendPacket(SystemMessageId.LOOTING_METHOD_BY_TURN_INCLUDING_SPOIL);
break; break;
} }
}
// Not used in Infinite Odissey // Not used in Infinite Odissey
// if (!party.isLeader(activeChar)) // if (!party.isLeader(activeChar))

View File

@@ -41,6 +41,7 @@ public class CastleVCmd implements IVoicedCommandHandler
switch (command) switch (command)
{ {
case "opendoors": case "opendoors":
{
if (!params.equals("castle")) if (!params.equals("castle"))
{ {
activeChar.sendMessage("Only Castle doors can be open."); activeChar.sendMessage("Only Castle doors can be open.");
@@ -79,7 +80,9 @@ public class CastleVCmd implements IVoicedCommandHandler
door.openMe(); door.openMe();
} }
break; break;
}
case "closedoors": case "closedoors":
{
if (!params.equals("castle")) if (!params.equals("castle"))
{ {
activeChar.sendMessage("Only Castle doors can be closed."); activeChar.sendMessage("Only Castle doors can be closed.");
@@ -115,13 +118,16 @@ public class CastleVCmd implements IVoicedCommandHandler
door2.closeMe(); door2.closeMe();
} }
break; break;
}
case "ridewyvern": case "ridewyvern":
{
if (activeChar.isClanLeader() && (activeChar.getClan().getCastleId() > 0)) if (activeChar.isClanLeader() && (activeChar.getClan().getCastleId() > 0))
{ {
activeChar.mount(12621, 0, true); activeChar.mount(12621, 0, true);
} }
break; break;
} }
}
return true; return true;
} }

View File

@@ -266,14 +266,18 @@ public final class ChamberOfDelusion extends AbstractInstance
switch (eventName) switch (eventName)
{ {
case "SCE_LUCKY": case "SCE_LUCKY":
{
receiver.setBusy(true); receiver.setBusy(true);
receiver.doCast(SUCCESS_SKILL.getSkill()); receiver.doCast(SUCCESS_SKILL.getSkill());
break; break;
}
case "SCE_DREAM_FIRE_IN_THE_HOLE": case "SCE_DREAM_FIRE_IN_THE_HOLE":
{
receiver.setBusy(true); receiver.setBusy(true);
receiver.doCast(FAIL_SKILL.getSkill()); receiver.doCast(FAIL_SKILL.getSkill());
break; break;
} }
}
return null; return null;
} }

View File

@@ -130,8 +130,10 @@ public final class DarkCloudMansion extends AbstractInstance
switch (event) switch (event)
{ {
case "DELETE_ONE": case "DELETE_ONE":
{
npc.deleteMe(); npc.deleteMe();
break; break;
}
case "DELETE": case "DELETE":
{ {
world.getNpcs(BELETH_SAMPLE).stream().filter(n -> n != npc).forEach(L2Npc::deleteMe); world.getNpcs(BELETH_SAMPLE).stream().filter(n -> n != npc).forEach(L2Npc::deleteMe);
@@ -140,10 +142,12 @@ public final class DarkCloudMansion extends AbstractInstance
break; break;
} }
case "CHAT": case "CHAT":
{
world.getNpcs(BELETH_SAMPLE).stream().filter(n -> n.isScriptValue(1)).forEach(n -> n.broadcastSay(ChatType.NPC_GENERAL, DECAY_CHAT[getRandom(DECAY_CHAT.length)])); world.getNpcs(BELETH_SAMPLE).stream().filter(n -> n.isScriptValue(1)).forEach(n -> n.broadcastSay(ChatType.NPC_GENERAL, DECAY_CHAT[getRandom(DECAY_CHAT.length)]));
break; break;
} }
} }
}
return null; return null;
} }

View File

@@ -80,11 +80,15 @@ public final class FaeronTrainingGrounds1 extends AbstractInstance
switch (event) switch (event)
{ {
case "enter_instance": case "enter_instance":
{
enterInstance(player, npc, TEMPLATE_ID); enterInstance(player, npc, TEMPLATE_ID);
break; break;
}
case "exit_instance": case "exit_instance":
{
finishInstance(player, 0); finishInstance(player, 0);
break; break;
}
case "33944-03.html": case "33944-03.html":
{ {
if (qs.isCond(6)) if (qs.isCond(6))

View File

@@ -232,14 +232,20 @@ public final class FortressDungeon extends AbstractInstance
switch (instance.getStatus()) switch (instance.getStatus())
{ {
case 0: case 0:
{
npcId = RAIDS1[getRandom(RAIDS1.length)]; npcId = RAIDS1[getRandom(RAIDS1.length)];
break; break;
}
case 1: case 1:
{
npcId = RAIDS2[getRandom(RAIDS2.length)]; npcId = RAIDS2[getRandom(RAIDS2.length)];
break; break;
}
default: default:
{
npcId = RAIDS3[getRandom(RAIDS3.length)]; npcId = RAIDS3[getRandom(RAIDS3.length)];
} }
}
// Spawn raid // Spawn raid
addSpawn(npcId, SPAWN_LOC, false, 0, false, instance.getId()); addSpawn(npcId, SPAWN_LOC, false, 0, false, instance.getId());

View File

@@ -123,50 +123,80 @@ public final class HarnakUndergroundRuins extends AbstractInstance
switch (event) switch (event)
{ {
case "enter_instance": case "enter_instance":
{
enterInstance(player, npc, TEMPLATE_ID); enterInstance(player, npc, TEMPLATE_ID);
break; break;
}
case "message1": case "message1":
{
showOnScreenMsg(player, NpcStringId.AN_INTRUDER_INTERESTING, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.AN_INTRUDER_INTERESTING, ExShowScreenMessage.TOP_CENTER, 5000);
break; break;
}
case "message2": case "message2":
{
showOnScreenMsg(player, NpcStringId.PROVE_YOUR_WORTH, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.PROVE_YOUR_WORTH, ExShowScreenMessage.TOP_CENTER, 5000);
break; break;
}
case "message3": case "message3":
{
showOnScreenMsg(player, NpcStringId.ONLY_THOSE_STRONG_ENOUGH_SHALL_PROCEED, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.ONLY_THOSE_STRONG_ENOUGH_SHALL_PROCEED, ExShowScreenMessage.TOP_CENTER, 5000);
break; break;
}
case "message4": case "message4":
{
showOnScreenMsg(player, NpcStringId.THOUGH_SMALL_THIS_POWER_WILL_HELP_YOU_GREATLY, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.THOUGH_SMALL_THIS_POWER_WILL_HELP_YOU_GREATLY, ExShowScreenMessage.TOP_CENTER, 5000);
break; break;
}
case "message5": case "message5":
{
showOnScreenMsg(player, NpcStringId.ARE_YOU_STRONG_OR_WEAK_OF_THE_LIGHT_OR_DARKNESS, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.ARE_YOU_STRONG_OR_WEAK_OF_THE_LIGHT_OR_DARKNESS, ExShowScreenMessage.TOP_CENTER, 5000);
break; break;
}
case "message6": case "message6":
{
showOnScreenMsg(player, NpcStringId.ONLY_THOSE_OF_LIGHT_MAY_PASS_OTHERS_MUST_PROVE_THEIR_STRENGTH, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.ONLY_THOSE_OF_LIGHT_MAY_PASS_OTHERS_MUST_PROVE_THEIR_STRENGTH, ExShowScreenMessage.TOP_CENTER, 5000);
break; break;
}
case "razkan_say": case "razkan_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.COME_ATTACK_ME_IF_YOU_DARE); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.COME_ATTACK_ME_IF_YOU_DARE);
break; break;
}
case "bathus_say": case "bathus_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.IT_S_THE_END_FOR_YOU_TRAITOR); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.IT_S_THE_END_FOR_YOU_TRAITOR);
break; break;
}
case "bamonti_say": case "bamonti_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY);
break; break;
}
case "carcass_say": case "carcass_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY);
break; break;
}
case "khan_say": case "khan_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_LL_HAVE_TO_KILL_US_FIRST); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.YOU_LL_HAVE_TO_KILL_US_FIRST);
break; break;
}
case "seknus_say": case "seknus_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LETS_SEE_WHAT_YOU_ARE_MADE_OF); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LETS_SEE_WHAT_YOU_ARE_MADE_OF);
break; break;
}
case "lotus_say": case "lotus_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.REPENT_AND_YOUR_DEATH_WILL_BE_QUICK); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.REPENT_AND_YOUR_DEATH_WILL_BE_QUICK);
break; break;
}
case "ele_say": case "ele_say":
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DIE_TRAITOR); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DIE_TRAITOR);
break; break;
}
case "spawn_npc1": case "spawn_npc1":
{ {
final Instance world = player.getInstanceWorld(); final Instance world = player.getInstanceWorld();
@@ -321,8 +351,10 @@ public final class HarnakUndergroundRuins extends AbstractInstance
break; break;
} }
case "exit": case "exit":
{
finishInstance(player, 0); finishInstance(player, 0);
break; break;
}
case "spawn_npc4": case "spawn_npc4":
{ {
final Instance world = player.getInstanceWorld(); final Instance world = player.getInstanceWorld();
@@ -372,36 +404,56 @@ public final class HarnakUndergroundRuins extends AbstractInstance
switch (timerCount) switch (timerCount)
{ {
case 0: case 0:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING41); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING41);
break; break;
}
case 1: case 1:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING42); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING42);
break; break;
}
case 2: case 2:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING43); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING43);
break; break;
}
case 3: case 3:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING44); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING44);
break; break;
}
case 4: case 4:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING45); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING45);
break; break;
}
case 5: case 5:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS);
break; break;
}
case 6: case 6:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS2); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS2);
break; break;
}
case 7: case 7:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS3); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS3);
break; break;
}
case 8: case 8:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS4); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECONDS4);
break; break;
}
case 9: case 9:
{
npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECOND); npc.broadcastSay(ChatType.NPC_SHOUT, NpcStringId.SECOND);
break; break;
} }
}
if (timerCount <= 4) if (timerCount <= 4)
{ {
startQuestTimer("seal_say", 10000, npc, player); startQuestTimer("seal_say", 10000, npc, player);
@@ -464,30 +516,46 @@ public final class HarnakUndergroundRuins extends AbstractInstance
switch (npc.getId()) switch (npc.getId())
{ {
case RAKZAN: case RAKZAN:
{
moveNpcRoom1(KRAKIA_BATHUS, NpcStringId.ARE_YOU_PLANNING_TO_BETRAY_THE_GODS_AND_FOLLOW_A_GIANT, "bathus_say", world); moveNpcRoom1(KRAKIA_BATHUS, NpcStringId.ARE_YOU_PLANNING_TO_BETRAY_THE_GODS_AND_FOLLOW_A_GIANT, "bathus_say", world);
break; break;
}
case KRAKIA_BATHUS: case KRAKIA_BATHUS:
{
moveNpcRoom1(BAMONTI, NpcStringId.HAHA, "bamonti_say", world); moveNpcRoom1(BAMONTI, NpcStringId.HAHA, "bamonti_say", world);
break; break;
}
case BAMONTI: case BAMONTI:
{
moveNpcRoom1(KRAKIA_CARCASS, NpcStringId.HAHA, "carcass_say", world); moveNpcRoom1(KRAKIA_CARCASS, NpcStringId.HAHA, "carcass_say", world);
break; break;
}
case KRAKIA_CARCASS: case KRAKIA_CARCASS:
{
moveNpcRoom1(WEISS_KHAN, NpcStringId.YOU_WILL_NOT_FREE_HERMUNCUS, "khan_say", world); moveNpcRoom1(WEISS_KHAN, NpcStringId.YOU_WILL_NOT_FREE_HERMUNCUS, "khan_say", world);
break; break;
}
case WEISS_KHAN: case WEISS_KHAN:
{
moveNpcRoom1(SEKNUS, NpcStringId.MORTAL, "seknus_say", world); moveNpcRoom1(SEKNUS, NpcStringId.MORTAL, "seknus_say", world);
break; break;
}
case SEKNUS: case SEKNUS:
{
moveNpcRoom1(KRAKIA_LOTUS, NpcStringId.TRYING_TO_FREE_HERMUNCUS, "lotus_say", world); moveNpcRoom1(KRAKIA_LOTUS, NpcStringId.TRYING_TO_FREE_HERMUNCUS, "lotus_say", world);
break; break;
}
case KRAKIA_LOTUS: case KRAKIA_LOTUS:
{
moveNpcRoom1(WEISS_ELE, NpcStringId.YOU_WILL_NEVER_BREAK_THE_SEAL, "ele_say", world); moveNpcRoom1(WEISS_ELE, NpcStringId.YOU_WILL_NEVER_BREAK_THE_SEAL, "ele_say", world);
break; break;
}
case WEISS_ELE: case WEISS_ELE:
{
startQuestTimer("spawn_npc2", 100, npc, killer); startQuestTimer("spawn_npc2", 100, npc, killer);
break; break;
} }
}
break; break;
} }
case 2: case 2:
@@ -499,16 +567,22 @@ public final class HarnakUndergroundRuins extends AbstractInstance
switch (params.getInt("wave")) switch (params.getInt("wave"))
{ {
case 1: case 1:
{
startQuestTimer("spawn_wave2", 100, npc, killer); startQuestTimer("spawn_wave2", 100, npc, killer);
break; break;
}
case 2: case 2:
{
startQuestTimer("spawn_wave3", 100, npc, killer); startQuestTimer("spawn_wave3", 100, npc, killer);
break; break;
}
case 3: case 3:
{
world.openCloseDoor(DOOR_TWO, true); world.openCloseDoor(DOOR_TWO, true);
break; break;
} }
} }
}
break; break;
} }
default: default:

View File

@@ -56,13 +56,17 @@ public final class KaraphonHabitat extends AbstractInstance
switch (event) switch (event)
{ {
case "enter_instance": case "enter_instance":
{
enterInstance(player, npc, TEMPLATE_ID); enterInstance(player, npc, TEMPLATE_ID);
break; break;
}
case "exit_instance": case "exit_instance":
{
finishInstance(player, 0); finishInstance(player, 0);
break; break;
} }
} }
}
return null; return null;
} }

View File

@@ -649,6 +649,7 @@ public final class KartiasLabyrinth extends AbstractInstance
switch (stage) switch (stage)
{ {
case 1: case 1:
{
switch (wave) switch (wave)
{ {
case 1: case 1:
@@ -676,7 +677,9 @@ public final class KartiasLabyrinth extends AbstractInstance
} }
} }
break; break;
}
case 2: case 2:
{
switch (wave) switch (wave)
{ {
case 1: case 1:
@@ -704,7 +707,9 @@ public final class KartiasLabyrinth extends AbstractInstance
} }
} }
break; break;
}
case 3: case 3:
{
switch (wave) switch (wave)
{ {
case 1: case 1:
@@ -763,7 +768,9 @@ public final class KartiasLabyrinth extends AbstractInstance
} }
} }
break; break;
}
case 4: case 4:
{
switch (wave) switch (wave)
{ {
case 1: case 1:
@@ -791,7 +798,9 @@ public final class KartiasLabyrinth extends AbstractInstance
} }
} }
break; break;
}
case 5: case 5:
{
switch (wave) switch (wave)
{ {
case 1: case 1:
@@ -828,6 +837,7 @@ public final class KartiasLabyrinth extends AbstractInstance
break; break;
} }
} }
}
else if (room == 2) else if (room == 2)
{ {
instance.getParameters().set("TELEPORT_1_ENABLED", false); instance.getParameters().set("TELEPORT_1_ENABLED", false);

View File

@@ -310,22 +310,32 @@ public final class LabyrinthOfBelis extends AbstractInstance
switch (world.getStatus()) switch (world.getStatus())
{ {
case 0: case 0:
{
htmltext = "19155-01.html"; htmltext = "19155-01.html";
break; break;
}
case 3: case 3:
{
htmltext = "19155-03.html"; htmltext = "19155-03.html";
break; break;
}
case 5: case 5:
{
htmltext = "19155-04.html"; htmltext = "19155-04.html";
break; break;
}
case 7: case 7:
{
htmltext = "19155-05.html"; htmltext = "19155-05.html";
break; break;
}
case 9: case 9:
{
htmltext = "19155-06.html"; htmltext = "19155-06.html";
break; break;
} }
} }
}
else else
{ {
htmltext = "19155-02.html"; htmltext = "19155-02.html";
@@ -334,12 +344,16 @@ public final class LabyrinthOfBelis extends AbstractInstance
break; break;
} }
case BELIS_VERITIFICATION_SYSTEM: case BELIS_VERITIFICATION_SYSTEM:
{
htmltext = "33215.html"; htmltext = "33215.html";
break; break;
}
case ELECTRICITY_GENERATOR: case ELECTRICITY_GENERATOR:
{
htmltext = "33216.html"; htmltext = "33216.html";
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -451,18 +465,26 @@ public final class LabyrinthOfBelis extends AbstractInstance
switch (world.getStatus()) switch (world.getStatus())
{ {
case 0: case 0:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LET_ME_KNOW_WHEN_YOU_RE_ALL_READY); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LET_ME_KNOW_WHEN_YOU_RE_ALL_READY);
break; break;
}
case 4: case 4:
{
showOnScreenMsg(player, NpcStringId.MARK_OF_BELIS_CAN_BE_ACQUIRED_FROM_ENEMIES_NUSE_THEM_IN_THE_BELIS_VERIFICATION_SYSTEM, ExShowScreenMessage.TOP_CENTER, 4500); showOnScreenMsg(player, NpcStringId.MARK_OF_BELIS_CAN_BE_ACQUIRED_FROM_ENEMIES_NUSE_THEM_IN_THE_BELIS_VERIFICATION_SYSTEM, ExShowScreenMessage.TOP_CENTER, 4500);
break; break;
}
case 6: case 6:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_COME_BACK_HERE);
break; break;
}
default: default:
{
getTimers().cancelTimer("MESSAGE", npc, null); getTimers().cancelTimer("MESSAGE", npc, null);
break; break;
} }
}
break; break;
} }
case "ATTACKERS": case "ATTACKERS":

View File

@@ -148,15 +148,21 @@ public final class Nursery extends AbstractInstance
switch (gameStage) switch (gameStage)
{ {
case 0: case 0:
{
htmltext = "GameManager-01.html"; htmltext = "GameManager-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "GameManager-02.html"; htmltext = "GameManager-02.html";
break; break;
}
case 3: case 3:
{
htmltext = "GameManager-03.html"; htmltext = "GameManager-03.html";
break; break;
} }
}
final BuffInfo energyInfo = player.getEffectList().getBuffInfoByAbnormalType(ENERGY_SKILL_1.getSkill().getAbnormalType()); final BuffInfo energyInfo = player.getEffectList().getBuffInfoByAbnormalType(ENERGY_SKILL_1.getSkill().getAbnormalType());
final int energyLv = energyInfo == null ? 0 : energyInfo.getSkill().getAbnormalLvl(); final int energyLv = energyInfo == null ? 0 : energyInfo.getSkill().getAbnormalLvl();
@@ -324,15 +330,21 @@ public final class Nursery extends AbstractInstance
switch (getRandom(3)) switch (getRandom(3))
{ {
case 0: case 0:
{
ENERGY_SKILL_1.getSkill().applyEffects(npc, killer); ENERGY_SKILL_1.getSkill().applyEffects(npc, killer);
break; break;
}
case 1: case 1:
{
ENERGY_SKILL_2.getSkill().applyEffects(npc, killer); ENERGY_SKILL_2.getSkill().applyEffects(npc, killer);
break; break;
}
case 2: case 2:
{
ENERGY_SKILL_3.getSkill().applyEffects(npc, killer); ENERGY_SKILL_3.getSkill().applyEffects(npc, killer);
break; break;
} }
}
instance.broadcastPacket(new Earthquake(npc, 50, 3)); instance.broadcastPacket(new Earthquake(npc, 50, 3));
showOnScreenMsg(instance, NpcStringId.RECEIVED_REGENERATION_ENERGY, ExShowScreenMessage.MIDDLE_CENTER, 2000); showOnScreenMsg(instance, NpcStringId.RECEIVED_REGENERATION_ENERGY, ExShowScreenMessage.MIDDLE_CENTER, 2000);
} }

View File

@@ -125,22 +125,32 @@ public final class SSQDisciplesNecropolisPast extends AbstractInstance
switch (count) switch (count)
{ {
case 4: case 4:
{
world.openCloseDoor(DOOR_1, true); world.openCloseDoor(DOOR_1, true);
break; break;
}
case 10: case 10:
{
world.openCloseDoor(DOOR_2, true); world.openCloseDoor(DOOR_2, true);
break; break;
}
case 18: case 18:
{
world.openCloseDoor(DOOR_3, true); world.openCloseDoor(DOOR_3, true);
break; break;
}
case 28: case 28:
{
world.openCloseDoor(DOOR_4, true); world.openCloseDoor(DOOR_4, true);
break; break;
}
case 40: case 40:
{
world.openCloseDoor(DOOR_5, true); world.openCloseDoor(DOOR_5, true);
break; break;
} }
} }
}
private void makeCast(L2Npc npc, List<L2Npc> targets) private void makeCast(L2Npc npc, List<L2Npc> targets)
{ {

View File

@@ -58,10 +58,13 @@ public class Q00013_ParcelDelivery extends Quest
switch (event) switch (event)
{ {
case "31274-02.html": case "31274-02.html":
{
st.startQuest(); st.startQuest();
giveItems(player, PACKAGE, 1); giveItems(player, PACKAGE, 1);
break; break;
}
case "31539-01.html": case "31539-01.html":
{
if (st.isCond(1) && hasQuestItems(player, PACKAGE)) if (st.isCond(1) && hasQuestItems(player, PACKAGE))
{ {
giveAdena(player, 271980, true); giveAdena(player, 271980, true);
@@ -74,6 +77,7 @@ public class Q00013_ParcelDelivery extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -87,29 +91,39 @@ public class Q00013_ParcelDelivery extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
if (npcId == FUNDIN) if (npcId == FUNDIN)
{ {
htmltext = "31274-00.htm"; htmltext = "31274-00.htm";
} }
break; break;
}
case State.STARTED: case State.STARTED:
{
if (st.isCond(1)) if (st.isCond(1))
{ {
switch (npcId) switch (npcId)
{ {
case FUNDIN: case FUNDIN:
{
htmltext = "31274-02.html"; htmltext = "31274-02.html";
break; break;
}
case VULCAN: case VULCAN:
{
htmltext = "31539-00.html"; htmltext = "31539-00.html";
break; break;
} }
} }
}
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -56,15 +56,20 @@ public class Q00015_SweetWhispers extends Quest
switch (event) switch (event)
{ {
case "31302-01.html": case "31302-01.html":
{
st.startQuest(); st.startQuest();
break; break;
}
case "31518-01.html": case "31518-01.html":
{
if (st.isCond(1)) if (st.isCond(1))
{ {
st.setCond(2); st.setCond(2);
} }
break; break;
}
case "31517-01.html": case "31517-01.html":
{
if (st.isCond(2)) if (st.isCond(2))
{ {
addExpAndSp(player, 714215, 171); addExpAndSp(player, 714215, 171);
@@ -72,6 +77,7 @@ public class Q00015_SweetWhispers extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -85,43 +91,59 @@ public class Q00015_SweetWhispers extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
if (npcId == VLADIMIR) if (npcId == VLADIMIR)
{ {
htmltext = "31302-00.htm"; htmltext = "31302-00.htm";
} }
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (npcId) switch (npcId)
{ {
case VLADIMIR: case VLADIMIR:
{
if (st.isCond(1)) if (st.isCond(1))
{ {
htmltext = "31302-01a.html"; htmltext = "31302-01a.html";
} }
break; break;
}
case M_NECROMANCER: case M_NECROMANCER:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "31518-00.html"; htmltext = "31518-00.html";
break; break;
}
case 2: case 2:
{
htmltext = "31518-01a.html"; htmltext = "31518-01a.html";
break; break;
} }
}
break; break;
}
case HIERARCH: case HIERARCH:
{
if (st.isCond(2)) if (st.isCond(2))
{ {
htmltext = "31517-00.html"; htmltext = "31517-00.html";
} }
break; break;
} }
}
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -143,15 +143,21 @@ public final class Q00040_ASpecialOrder extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case HELVETIA: case HELVETIA:
{
htmltext = "30081-03.html"; htmltext = "30081-03.html";
break; break;
}
case O_FULLE: case O_FULLE:
{
htmltext = "31572-03.html"; htmltext = "31572-03.html";
break; break;
}
case GESTO: case GESTO:
{
htmltext = "30511-01.html"; htmltext = "30511-01.html";
break; break;
} }
}
break; break;
} }
case 3: case 3:

View File

@@ -165,21 +165,31 @@ public final class Q00042_HelpTheUncle extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = (hasQuestItems(player, TRIDENT)) ? "30828-02.html" : "30828-02a.html"; htmltext = (hasQuestItems(player, TRIDENT)) ? "30828-02.html" : "30828-02a.html";
break; break;
}
case 2: case 2:
{
htmltext = "30828-04.html"; htmltext = "30828-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "30828-05.html"; htmltext = "30828-05.html";
break; break;
}
case 4: case 4:
{
htmltext = "30828-07.html"; htmltext = "30828-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "30828-08.html"; htmltext = "30828-08.html";
break; break;
} }
}
break; break;
} }
case State.COMPLETED: case State.COMPLETED:

View File

@@ -168,21 +168,31 @@ public final class Q00043_HelpTheSister extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = (hasQuestItems(player, CRAFTED_DAGGER)) ? "30829-02.html" : "30829-02a.html"; htmltext = (hasQuestItems(player, CRAFTED_DAGGER)) ? "30829-02.html" : "30829-02a.html";
break; break;
}
case 2: case 2:
{
htmltext = "30829-04.html"; htmltext = "30829-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "30829-05.html"; htmltext = "30829-05.html";
break; break;
}
case 4: case 4:
{
htmltext = "30829-07.html"; htmltext = "30829-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "30829-08.html"; htmltext = "30829-08.html";
break; break;
} }
}
break; break;
} }
case State.COMPLETED: case State.COMPLETED:

View File

@@ -162,21 +162,31 @@ public final class Q00044_HelpTheSon extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = (hasQuestItems(player, WORK_HAMMER)) ? "30827-02.html" : "30827-02a.html"; htmltext = (hasQuestItems(player, WORK_HAMMER)) ? "30827-02.html" : "30827-02a.html";
break; break;
}
case 2: case 2:
{
htmltext = "30827-04.html"; htmltext = "30827-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "30827-05.html"; htmltext = "30827-05.html";
break; break;
}
case 4: case 4:
{
htmltext = "30827-07.html"; htmltext = "30827-07.html";
break; break;
}
case 5: case 5:
{
htmltext = "30827-08.html"; htmltext = "30827-08.html";
break; break;
} }
}
break; break;
} }
case State.COMPLETED: case State.COMPLETED:

View File

@@ -97,15 +97,21 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 3: case 3:
{
htmltext = "32041-12.html"; htmltext = "32041-12.html";
break; break;
}
case 4: case 4:
{
htmltext = "32041-13.html"; htmltext = "32041-13.html";
break; break;
}
case 5: case 5:
{
htmltext = "32041-14.html"; htmltext = "32041-14.html";
break; break;
} }
}
break; break;
} }
case "32041-15.html": case "32041-15.html":

View File

@@ -82,15 +82,21 @@ public final class Q00122_OminousNews extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "31979-01.htm"; htmltext = "31979-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "31979-03.html"; htmltext = "31979-03.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
break; break;
} }
case KARUDA: case KARUDA:

View File

@@ -87,40 +87,55 @@ public class Q00125_TheNameOfEvil1 extends Quest
switch (event) switch (event)
{ {
case "32114-05.html": case "32114-05.html":
{
qs.startQuest(); qs.startQuest();
break; break;
}
case "32114-08.html": case "32114-08.html":
{
if (qs.isCond(1)) if (qs.isCond(1))
{ {
giveItems(player, GAZKH_FRAGMENT, 1); giveItems(player, GAZKH_FRAGMENT, 1);
qs.setCond(2, true); qs.setCond(2, true);
} }
break; break;
}
case "32117-09.html": case "32117-09.html":
{
if (qs.isCond(2)) if (qs.isCond(2))
{ {
qs.setCond(3, true); qs.setCond(3, true);
} }
break; break;
}
case "32117-15.html": case "32117-15.html":
{
if (qs.isCond(4)) if (qs.isCond(4))
{ {
qs.setCond(5, true); qs.setCond(5, true);
} }
break; break;
}
case "T_One": case "T_One":
{
qs.set("T", "1"); qs.set("T", "1");
htmltext = "32119-04.html"; htmltext = "32119-04.html";
break; break;
}
case "E_One": case "E_One":
{
qs.set("E", "1"); qs.set("E", "1");
htmltext = "32119-05.html"; htmltext = "32119-05.html";
break; break;
}
case "P_One": case "P_One":
{
qs.set("P", "1"); qs.set("P", "1");
htmltext = "32119-06.html"; htmltext = "32119-06.html";
break; break;
}
case "U_One": case "U_One":
{
qs.set("U", "1"); qs.set("U", "1");
if (qs.isCond(5) && (qs.getInt("T") > 0) && (qs.getInt("E") > 0) && (qs.getInt("P") > 0) && (qs.getInt("U") > 0)) if (qs.isCond(5) && (qs.getInt("T") > 0) && (qs.getInt("E") > 0) && (qs.getInt("P") > 0) && (qs.getInt("U") > 0))
{ {
@@ -136,32 +151,44 @@ public class Q00125_TheNameOfEvil1 extends Quest
qs.unset("P"); qs.unset("P");
qs.unset("U"); qs.unset("U");
break; break;
}
case "32119-07.html": case "32119-07.html":
{
qs.unset("T"); qs.unset("T");
qs.unset("E"); qs.unset("E");
qs.unset("P"); qs.unset("P");
qs.unset("U"); qs.unset("U");
break; break;
}
case "32119-18.html": case "32119-18.html":
{
if (qs.isCond(5)) if (qs.isCond(5))
{ {
qs.setCond(6, true); qs.setCond(6, true);
qs.unset("Memo"); qs.unset("Memo");
} }
break; break;
}
case "T_Two": case "T_Two":
{
qs.set("T", "1"); qs.set("T", "1");
htmltext = "32120-04.html"; htmltext = "32120-04.html";
break; break;
}
case "O_Two": case "O_Two":
{
qs.set("O", "1"); qs.set("O", "1");
htmltext = "32120-05.html"; htmltext = "32120-05.html";
break; break;
}
case "O2_Two": case "O2_Two":
{
qs.set("O2", "1"); qs.set("O2", "1");
htmltext = "32120-06.html"; htmltext = "32120-06.html";
break; break;
}
case "N_Two": case "N_Two":
{
qs.set("N", "1"); qs.set("N", "1");
if (qs.isCond(6) && (qs.getInt("T") > 0) && (qs.getInt("O") > 0) && (qs.getInt("O2") > 0) && (qs.getInt("N") > 0)) if (qs.isCond(6) && (qs.getInt("T") > 0) && (qs.getInt("O") > 0) && (qs.getInt("O2") > 0) && (qs.getInt("N") > 0))
{ {
@@ -177,31 +204,43 @@ public class Q00125_TheNameOfEvil1 extends Quest
qs.unset("O2"); qs.unset("O2");
qs.unset("N"); qs.unset("N");
break; break;
}
case "32120-07.html": case "32120-07.html":
{
qs.unset("T"); qs.unset("T");
qs.unset("O"); qs.unset("O");
qs.unset("O2"); qs.unset("O2");
qs.unset("N"); qs.unset("N");
}
case "32120-17.html": case "32120-17.html":
{
if (qs.isCond(6)) if (qs.isCond(6))
{ {
qs.setCond(7, true); qs.setCond(7, true);
qs.unset("Memo"); qs.unset("Memo");
} }
break; break;
}
case "W_Three": case "W_Three":
{
qs.set("W", "1"); qs.set("W", "1");
htmltext = "32121-04.html"; htmltext = "32121-04.html";
break; break;
}
case "A_Three": case "A_Three":
{
qs.set("A", "1"); qs.set("A", "1");
htmltext = "32121-05.html"; htmltext = "32121-05.html";
break; break;
}
case "G_Three": case "G_Three":
{
qs.set("G", "1"); qs.set("G", "1");
htmltext = "32121-06.html"; htmltext = "32121-06.html";
break; break;
}
case "U_Three": case "U_Three":
{
qs.set("U", "1"); qs.set("U", "1");
if (qs.isCond(7) && (qs.getInt("W") > 0) && (qs.getInt("A") > 0) && (qs.getInt("G") > 0) && (qs.getInt("U") > 0)) if (qs.isCond(7) && (qs.getInt("W") > 0) && (qs.getInt("A") > 0) && (qs.getInt("G") > 0) && (qs.getInt("U") > 0))
{ {
@@ -217,19 +256,27 @@ public class Q00125_TheNameOfEvil1 extends Quest
qs.unset("G"); qs.unset("G");
qs.unset("U"); qs.unset("U");
break; break;
}
case "32121-07.html": case "32121-07.html":
{
qs.unset("W"); qs.unset("W");
qs.unset("A"); qs.unset("A");
qs.unset("G"); qs.unset("G");
qs.unset("U"); qs.unset("U");
break; break;
}
case "32121-11.html": case "32121-11.html":
{
qs.set("Memo", "2"); qs.set("Memo", "2");
break; break;
}
case "32121-16.html": case "32121-16.html":
{
qs.set("Memo", "3"); qs.set("Memo", "3");
break; break;
}
case "32121-18.html": case "32121-18.html":
{
if (qs.isCond(7) && hasQuestItems(player, GAZKH_FRAGMENT)) if (qs.isCond(7) && hasQuestItems(player, GAZKH_FRAGMENT))
{ {
giveItems(player, EPITAPH_OF_WISDOM, 1); giveItems(player, EPITAPH_OF_WISDOM, 1);
@@ -239,6 +286,7 @@ public class Q00125_TheNameOfEvil1 extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -283,9 +331,11 @@ public class Q00125_TheNameOfEvil1 extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case MUSHIKA: case MUSHIKA:
{
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
if (player.getLevel() < 76) if (player.getLevel() < 76)
{ {
htmltext = "32114-01a.htm"; htmltext = "32114-01a.htm";
@@ -296,23 +346,32 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = ((qs != null) && qs.isCompleted()) ? "32114-01.htm" : "32114-01b.htm"; htmltext = ((qs != null) && qs.isCompleted()) ? "32114-01.htm" : "32114-01b.htm";
} }
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32114-09.html"; htmltext = "32114-09.html";
break; break;
}
case 2: case 2:
{
htmltext = "32114-10.html"; htmltext = "32114-10.html";
break; break;
}
case 3: case 3:
case 4: case 4:
case 5: case 5:
case 6: case 6:
case 7: case 7:
{
htmltext = "32114-11.html"; htmltext = "32114-11.html";
break; break;
}
case 8: case 8:
{
if (hasQuestItems(player, EPITAPH_OF_WISDOM)) if (hasQuestItems(player, EPITAPH_OF_WISDOM))
{ {
htmltext = "32114-12.html"; htmltext = "32114-12.html";
@@ -321,27 +380,40 @@ public class Q00125_TheNameOfEvil1 extends Quest
} }
break; break;
} }
}
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
break; break;
}
case KARAKAWEI: case KARAKAWEI:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32117-01.html"; htmltext = "32117-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "32117-02.html"; htmltext = "32117-02.html";
break; break;
}
case 3: case 3:
{
htmltext = "32117-10.html"; htmltext = "32117-10.html";
break; break;
}
case 4: case 4:
{
if ((getQuestItemsCount(player, ORNITHOMIMUS_CLAW) >= 2) && (getQuestItemsCount(player, DEINONYCHUS_BONE) >= 2)) if ((getQuestItemsCount(player, ORNITHOMIMUS_CLAW) >= 2) && (getQuestItemsCount(player, DEINONYCHUS_BONE) >= 2))
{ {
takeItems(player, ORNITHOMIMUS_CLAW, -1); takeItems(player, ORNITHOMIMUS_CLAW, -1);
@@ -349,20 +421,29 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32117-11.html"; htmltext = "32117-11.html";
} }
break; break;
}
case 5: case 5:
{
htmltext = "32117-16.html"; htmltext = "32117-16.html";
break; break;
}
case 6: case 6:
case 7: case 7:
{
htmltext = "32117-17.html"; htmltext = "32117-17.html";
break; break;
}
case 8: case 8:
{
htmltext = "32117-18.html"; htmltext = "32117-18.html";
break; break;
} }
} }
}
break; break;
}
case ULU_KAIMU: case ULU_KAIMU:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
@@ -371,9 +452,12 @@ public class Q00125_TheNameOfEvil1 extends Quest
case 2: case 2:
case 3: case 3:
case 4: case 4:
{
htmltext = "32119-01.html"; htmltext = "32119-01.html";
break; break;
}
case 5: case 5:
{
if (qs.get("Memo") == null) if (qs.get("Memo") == null)
{ {
htmltext = "32119-02.html"; htmltext = "32119-02.html";
@@ -388,16 +472,23 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32119-09.html"; htmltext = "32119-09.html";
} }
break; break;
}
case 6: case 6:
{
htmltext = "32119-18.html"; htmltext = "32119-18.html";
break; break;
}
default: default:
{
htmltext = "32119-19.html"; htmltext = "32119-19.html";
break; break;
} }
} }
}
break; break;
}
case BALU_KAIMU: case BALU_KAIMU:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
@@ -407,9 +498,12 @@ public class Q00125_TheNameOfEvil1 extends Quest
case 3: case 3:
case 4: case 4:
case 5: case 5:
{
htmltext = "32120-01.html"; htmltext = "32120-01.html";
break; break;
}
case 6: case 6:
{
if (qs.get("Memo") == null) if (qs.get("Memo") == null)
{ {
htmltext = "32120-02.html"; htmltext = "32120-02.html";
@@ -424,16 +518,23 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32120-09.html"; htmltext = "32120-09.html";
} }
break; break;
}
case 7: case 7:
{
htmltext = "32120-17.html"; htmltext = "32120-17.html";
break; break;
}
default: default:
{
htmltext = "32119-18.html"; htmltext = "32119-18.html";
break; break;
} }
} }
}
break; break;
}
case CHUTA_KAIMU: case CHUTA_KAIMU:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
@@ -444,12 +545,16 @@ public class Q00125_TheNameOfEvil1 extends Quest
case 4: case 4:
case 5: case 5:
case 6: case 6:
{
htmltext = "32121-01.html"; htmltext = "32121-01.html";
break; break;
}
case 7: case 7:
{
switch (qs.getInt("Memo")) switch (qs.getInt("Memo"))
{ {
case 0: case 0:
{
htmltext = "32121-02.html"; htmltext = "32121-02.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
qs.unset("W"); qs.unset("W");
@@ -457,24 +562,35 @@ public class Q00125_TheNameOfEvil1 extends Quest
qs.unset("G"); qs.unset("G");
qs.unset("U"); qs.unset("U");
break; break;
}
case 1: case 1:
{
htmltext = "32121-09.html"; htmltext = "32121-09.html";
break; break;
}
case 2: case 2:
{
htmltext = "32121-19.html"; htmltext = "32121-19.html";
break; break;
}
case 3: case 3:
{
htmltext = "32121-20.html"; htmltext = "32121-20.html";
break; break;
} }
}
break; break;
}
case 8: case 8:
{
htmltext = "32121-21.html"; htmltext = "32121-21.html";
break; break;
} }
} }
}
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -66,116 +66,161 @@ public class Q00126_TheNameOfEvil2 extends Quest
switch (event) switch (event)
{ {
case "32115-1.html": case "32115-1.html":
{
qs.startQuest(); qs.startQuest();
break; break;
}
case "32115-1b.html": case "32115-1b.html":
{
if (qs.isCond(1)) if (qs.isCond(1))
{ {
qs.setCond(2, true); qs.setCond(2, true);
} }
break; break;
}
case "32119-3.html": case "32119-3.html":
{
if (qs.isCond(2)) if (qs.isCond(2))
{ {
qs.setCond(3, true); qs.setCond(3, true);
} }
break; break;
}
case "32119-4.html": case "32119-4.html":
{
if (qs.isCond(3)) if (qs.isCond(3))
{ {
qs.setCond(4, true); qs.setCond(4, true);
} }
break; break;
}
case "32119-4a.html": case "32119-4a.html":
case "32119-5b.html": case "32119-5b.html":
{
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_1ST); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_1ST);
break; break;
}
case "32119-5.html": case "32119-5.html":
{
if (qs.isCond(4)) if (qs.isCond(4))
{ {
qs.setCond(5, true); qs.setCond(5, true);
} }
break; break;
}
case "32120-3.html": case "32120-3.html":
{
if (qs.isCond(5)) if (qs.isCond(5))
{ {
qs.setCond(6, true); qs.setCond(6, true);
} }
break; break;
}
case "32120-4.html": case "32120-4.html":
{
if (qs.isCond(6)) if (qs.isCond(6))
{ {
qs.setCond(7, true); qs.setCond(7, true);
} }
break; break;
}
case "32120-4a.html": case "32120-4a.html":
case "32120-5b.html": case "32120-5b.html":
{
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_2ND); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_2ND);
break; break;
}
case "32120-5.html": case "32120-5.html":
{
if (qs.isCond(7)) if (qs.isCond(7))
{ {
qs.setCond(8, true); qs.setCond(8, true);
} }
break; break;
}
case "32121-3.html": case "32121-3.html":
{
if (qs.isCond(8)) if (qs.isCond(8))
{ {
qs.setCond(9, true); qs.setCond(9, true);
} }
break; break;
}
case "32121-4.html": case "32121-4.html":
{
if (qs.isCond(9)) if (qs.isCond(9))
{ {
qs.setCond(10, true); qs.setCond(10, true);
} }
break; break;
}
case "32121-4a.html": case "32121-4a.html":
case "32121-5b.html": case "32121-5b.html":
{
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_3RD); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_3RD);
break; break;
}
case "32121-5.html": case "32121-5.html":
{
if (qs.isCond(10)) if (qs.isCond(10))
{ {
giveItems(player, GAZKH_FRAGMENT, 1); giveItems(player, GAZKH_FRAGMENT, 1);
qs.setCond(11, true); qs.setCond(11, true);
} }
break; break;
}
case "32122-2a.html": case "32122-2a.html":
{
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break; break;
}
case "32122-2d.html": case "32122-2d.html":
{
takeItems(player, GAZKH_FRAGMENT, -1); takeItems(player, GAZKH_FRAGMENT, -1);
break; break;
}
case "32122-3.html": case "32122-3.html":
{
if (qs.isCond(12)) if (qs.isCond(12))
{ {
qs.setCond(13, true); qs.setCond(13, true);
} }
break; break;
}
case "32122-4.html": case "32122-4.html":
{
if (qs.isCond(13)) if (qs.isCond(13))
{ {
qs.setCond(14, true); qs.setCond(14, true);
} }
break; break;
}
case "DO_One": case "DO_One":
{
qs.set("DO", "1"); qs.set("DO", "1");
event = "32122-4d.html"; event = "32122-4d.html";
break; break;
}
case "MI_One": case "MI_One":
{
qs.set("MI", "1"); qs.set("MI", "1");
event = "32122-4f.html"; event = "32122-4f.html";
break; break;
}
case "FA_One": case "FA_One":
{
qs.set("FA", "1"); qs.set("FA", "1");
event = "32122-4h.html"; event = "32122-4h.html";
break; break;
}
case "SOL_One": case "SOL_One":
{
qs.set("SOL", "1"); qs.set("SOL", "1");
event = "32122-4j.html"; event = "32122-4j.html";
break; break;
}
case "FA2_One": case "FA2_One":
{
qs.set("FA2", "1"); qs.set("FA2", "1");
if (qs.isCond(14) && (qs.getInt("DO") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("FA2") > 0)) if (qs.isCond(14) && (qs.getInt("DO") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("FA2") > 0))
{ {
@@ -192,30 +237,42 @@ public class Q00126_TheNameOfEvil2 extends Quest
qs.unset("SOL"); qs.unset("SOL");
qs.unset("FA2"); qs.unset("FA2");
break; break;
}
case "32122-4m.html": case "32122-4m.html":
{
qs.unset("DO"); qs.unset("DO");
qs.unset("MI"); qs.unset("MI");
qs.unset("FA"); qs.unset("FA");
qs.unset("SOL"); qs.unset("SOL");
qs.unset("FA2"); qs.unset("FA2");
break; break;
}
case "FA_Two": case "FA_Two":
{
qs.set("FA", "1"); qs.set("FA", "1");
event = "32122-5a.html"; event = "32122-5a.html";
break; break;
}
case "SOL_Two": case "SOL_Two":
{
qs.set("SOL", "1"); qs.set("SOL", "1");
event = "32122-5c.html"; event = "32122-5c.html";
break; break;
}
case "TI_Two": case "TI_Two":
{
qs.set("TI", "1"); qs.set("TI", "1");
event = "32122-5e.html"; event = "32122-5e.html";
break; break;
}
case "SOL2_Two": case "SOL2_Two":
{
qs.set("SOL2", "1"); qs.set("SOL2", "1");
event = "32122-5g.html"; event = "32122-5g.html";
break; break;
}
case "FA2_Two": case "FA2_Two":
{
qs.set("FA2", "1"); qs.set("FA2", "1");
if (qs.isCond(15) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("TI") > 0) && (qs.getInt("SOL2") > 0) && (qs.getInt("FA2") > 0)) if (qs.isCond(15) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("TI") > 0) && (qs.getInt("SOL2") > 0) && (qs.getInt("FA2") > 0))
{ {
@@ -232,30 +289,42 @@ public class Q00126_TheNameOfEvil2 extends Quest
qs.unset("SOL2"); qs.unset("SOL2");
qs.unset("FA2"); qs.unset("FA2");
break; break;
}
case "32122-5i.html": case "32122-5i.html":
{
qs.unset("FA"); qs.unset("FA");
qs.unset("SOL"); qs.unset("SOL");
qs.unset("TI"); qs.unset("TI");
qs.unset("SOL2"); qs.unset("SOL2");
qs.unset("FA2"); qs.unset("FA2");
break; break;
}
case "SOL_Three": case "SOL_Three":
{
qs.set("SOL", "1"); qs.set("SOL", "1");
event = "32122-6a.html"; event = "32122-6a.html";
break; break;
}
case "FA_Three": case "FA_Three":
{
qs.set("FA", "1"); qs.set("FA", "1");
event = "32122-6c.html"; event = "32122-6c.html";
break; break;
}
case "MI_Three": case "MI_Three":
{
qs.set("MI", "1"); qs.set("MI", "1");
event = "32122-6e.html"; event = "32122-6e.html";
break; break;
}
case "FA2_Three": case "FA2_Three":
{
qs.set("FA2", "1"); qs.set("FA2", "1");
event = "32122-6g.html"; event = "32122-6g.html";
break; break;
}
case "MI2_Three": case "MI2_Three":
{
qs.set("MI2", "1"); qs.set("MI2", "1");
if (qs.isCond(16) && (qs.getInt("SOL") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA2") > 0) && (qs.getInt("MI2") > 0)) if (qs.isCond(16) && (qs.getInt("SOL") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA2") > 0) && (qs.getInt("MI2") > 0))
{ {
@@ -272,62 +341,81 @@ public class Q00126_TheNameOfEvil2 extends Quest
qs.unset("FA2"); qs.unset("FA2");
qs.unset("MI2"); qs.unset("MI2");
break; break;
}
case "32122-6i.html": case "32122-6i.html":
{
qs.unset("SOL"); qs.unset("SOL");
qs.unset("FA"); qs.unset("FA");
qs.unset("MI"); qs.unset("MI");
qs.unset("FA2"); qs.unset("FA2");
qs.unset("MI2"); qs.unset("MI2");
break; break;
}
case "32122-7.html": case "32122-7.html":
{
giveItems(player, BONE_POWDER, 1); giveItems(player, BONE_POWDER, 1);
playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_FULL); playSound(player, QuestSound.ETCSOUND_ELROKI_SONG_FULL);
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break; break;
}
case "32122-8.html": case "32122-8.html":
{
if (qs.isCond(17)) if (qs.isCond(17))
{ {
qs.setCond(18, true); qs.setCond(18, true);
} }
break; break;
}
case "32109-2.html": case "32109-2.html":
{
if (qs.isCond(18)) if (qs.isCond(18))
{ {
qs.setCond(19, true); qs.setCond(19, true);
} }
break; break;
}
case "32109-3.html": case "32109-3.html":
{
if (qs.isCond(19)) if (qs.isCond(19))
{ {
takeItems(player, BONE_POWDER, -1); takeItems(player, BONE_POWDER, -1);
qs.setCond(20, true); qs.setCond(20, true);
} }
break; break;
}
case "32115-4.html": case "32115-4.html":
{
if (qs.isCond(20)) if (qs.isCond(20))
{ {
qs.setCond(21, true); qs.setCond(21, true);
} }
break; break;
}
case "32115-5.html": case "32115-5.html":
{
if (qs.isCond(21)) if (qs.isCond(21))
{ {
qs.setCond(22, true); qs.setCond(22, true);
} }
break; break;
}
case "32114-2.html": case "32114-2.html":
{
if (qs.isCond(22)) if (qs.isCond(22))
{ {
qs.setCond(23, true); qs.setCond(23, true);
} }
break; break;
}
case "32114-3.html": case "32114-3.html":
{
rewardItems(player, ENCHANT_WEAPON_A, 1); rewardItems(player, ENCHANT_WEAPON_A, 1);
giveAdena(player, 460483, true); giveAdena(player, 460483, true);
addExpAndSp(player, 1015973, 102802); addExpAndSp(player, 1015973, 102802);
qs.exitQuest(false, true); qs.exitQuest(false, true);
break; break;
} }
}
return event; return event;
} }
@@ -340,9 +428,11 @@ public class Q00126_TheNameOfEvil2 extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case ASAMAH: case ASAMAH:
{
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
if (player.getLevel() < 77) if (player.getLevel() < 77)
{ {
htmltext = "32115-0.htm"; htmltext = "32115-0.htm";
@@ -353,15 +443,21 @@ public class Q00126_TheNameOfEvil2 extends Quest
htmltext = ((qs != null) && qs.isCompleted()) ? "32115-0a.htm" : "32115-0b.htm"; htmltext = ((qs != null) && qs.isCompleted()) ? "32115-0a.htm" : "32115-0b.htm";
} }
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32115-1d.html"; htmltext = "32115-1d.html";
break; break;
}
case 2: case 2:
{
htmltext = "32115-1c.html"; htmltext = "32115-1c.html";
break; break;
}
case 3: case 3:
case 4: case 4:
case 5: case 5:
@@ -379,49 +475,74 @@ public class Q00126_TheNameOfEvil2 extends Quest
case 17: case 17:
case 18: case 18:
case 19: case 19:
{
htmltext = "32115-2.html"; htmltext = "32115-2.html";
break; break;
}
case 20: case 20:
{
htmltext = "32115-3.html"; htmltext = "32115-3.html";
break; break;
}
case 21: case 21:
{
htmltext = "32115-4j.html"; htmltext = "32115-4j.html";
break; break;
}
case 22: case 22:
{
htmltext = "32115-5a.html"; htmltext = "32115-5a.html";
break; break;
} }
}
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
break; break;
}
case ULU_KAIMU: case ULU_KAIMU:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32119-1.html"; htmltext = "32119-1.html";
break; break;
}
case 2: case 2:
{
htmltext = "32119-2.html"; htmltext = "32119-2.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break; break;
}
case 3: case 3:
{
htmltext = "32119-3c.html"; htmltext = "32119-3c.html";
break; break;
}
case 4: case 4:
{
htmltext = "32119-4c.html"; htmltext = "32119-4c.html";
break; break;
}
case 5: case 5:
{
htmltext = "32119-5a.html"; htmltext = "32119-5a.html";
break; break;
} }
} }
}
break; break;
}
case BALU_KAIMU: case BALU_KAIMU:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
@@ -430,25 +551,37 @@ public class Q00126_TheNameOfEvil2 extends Quest
case 2: case 2:
case 3: case 3:
case 4: case 4:
{
htmltext = "32120-1.html"; htmltext = "32120-1.html";
break; break;
}
case 5: case 5:
{
htmltext = "32120-2.html"; htmltext = "32120-2.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break; break;
}
case 6: case 6:
{
htmltext = "32120-3c.html"; htmltext = "32120-3c.html";
break; break;
}
case 7: case 7:
{
htmltext = "32120-4c.html"; htmltext = "32120-4c.html";
break; break;
}
default: default:
{
htmltext = "32120-5a.html"; htmltext = "32120-5a.html";
break; break;
} }
} }
}
break; break;
}
case CHUTA_KAIMU: case CHUTA_KAIMU:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
@@ -460,25 +593,37 @@ public class Q00126_TheNameOfEvil2 extends Quest
case 5: case 5:
case 6: case 6:
case 7: case 7:
{
htmltext = "32121-1.html"; htmltext = "32121-1.html";
break; break;
}
case 8: case 8:
{
htmltext = "32121-2.html"; htmltext = "32121-2.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0)); npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
break; break;
}
case 9: case 9:
{
htmltext = "32121-3e.html"; htmltext = "32121-3e.html";
break; break;
}
case 10: case 10:
{
htmltext = "32121-4e.html"; htmltext = "32121-4e.html";
break; break;
}
default: default:
{
htmltext = "32121-5a.html"; htmltext = "32121-5a.html";
break; break;
} }
} }
}
break; break;
}
case WARRIORS_GRAVE: case WARRIORS_GRAVE:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
@@ -493,19 +638,28 @@ public class Q00126_TheNameOfEvil2 extends Quest
case 8: case 8:
case 9: case 9:
case 10: case 10:
{
htmltext = "32122-1.html"; htmltext = "32122-1.html";
break; break;
}
case 11: case 11:
{
htmltext = "32122-2.html"; htmltext = "32122-2.html";
qs.setCond(12, true); qs.setCond(12, true);
break; break;
}
case 12: case 12:
{
htmltext = "32122-2l.html"; htmltext = "32122-2l.html";
break; break;
}
case 13: case 13:
{
htmltext = "32122-3b.html"; htmltext = "32122-3b.html";
break; break;
}
case 14: case 14:
{
htmltext = "32122-4.html"; htmltext = "32122-4.html";
qs.unset("DO"); qs.unset("DO");
qs.unset("MI"); qs.unset("MI");
@@ -513,7 +667,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
qs.unset("SOL"); qs.unset("SOL");
qs.unset("FA2"); qs.unset("FA2");
break; break;
}
case 15: case 15:
{
htmltext = "32122-5.html"; htmltext = "32122-5.html";
qs.unset("FA"); qs.unset("FA");
qs.unset("SOL"); qs.unset("SOL");
@@ -521,7 +677,9 @@ public class Q00126_TheNameOfEvil2 extends Quest
qs.unset("SOL2"); qs.unset("SOL2");
qs.unset("FA2"); qs.unset("FA2");
break; break;
}
case 16: case 16:
{
htmltext = "32122-6.html"; htmltext = "32122-6.html";
qs.unset("SOL"); qs.unset("SOL");
qs.unset("FA"); qs.unset("FA");
@@ -529,19 +687,28 @@ public class Q00126_TheNameOfEvil2 extends Quest
qs.unset("FA2"); qs.unset("FA2");
qs.unset("MI2"); qs.unset("MI2");
break; break;
}
case 17: case 17:
{
htmltext = hasQuestItems(player, BONE_POWDER) ? "32122-7.html" : "32122-7b.html"; htmltext = hasQuestItems(player, BONE_POWDER) ? "32122-7.html" : "32122-7b.html";
break; break;
}
case 18: case 18:
{
htmltext = "32122-8.html"; htmltext = "32122-8.html";
break; break;
}
default: default:
{
htmltext = "32122-9.html"; htmltext = "32122-9.html";
break; break;
} }
} }
}
break; break;
}
case SHILENS_STONE_STATUE: case SHILENS_STONE_STATUE:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
@@ -563,27 +730,39 @@ public class Q00126_TheNameOfEvil2 extends Quest
case 15: case 15:
case 16: case 16:
case 17: case 17:
{
htmltext = "32109-1a.html"; htmltext = "32109-1a.html";
break; break;
}
case 18: case 18:
{
if (hasQuestItems(player, BONE_POWDER)) if (hasQuestItems(player, BONE_POWDER))
{ {
htmltext = "32109-1.html"; htmltext = "32109-1.html";
} }
break; break;
}
case 19: case 19:
{
htmltext = "32109-2l.html"; htmltext = "32109-2l.html";
break; break;
}
case 20: case 20:
{
htmltext = "32109-5.html"; htmltext = "32109-5.html";
break; break;
}
default: default:
{
htmltext = "32109-4.html"; htmltext = "32109-4.html";
break; break;
} }
} }
}
break; break;
}
case MUSHIKA: case MUSHIKA:
{
if (qs.isStarted()) if (qs.isStarted())
{ {
if (qs.getCond() < 22) if (qs.getCond() < 22)
@@ -601,6 +780,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -84,21 +84,32 @@ public class Q00141_ShadowFoxPart3 extends Quest
case "30894-17.html": case "30894-17.html":
case "30894-19.html": case "30894-19.html":
case "30894-20.html": case "30894-20.html":
{
break; break;
}
case "30894-03.htm": case "30894-03.htm":
{
st.startQuest(); st.startQuest();
break; break;
}
case "30894-06.html": case "30894-06.html":
{
st.setCond(2, true); st.setCond(2, true);
break; break;
}
case "30894-15.html": case "30894-15.html":
{
st.set("talk", "2"); st.set("talk", "2");
break; break;
}
case "30894-18.html": case "30894-18.html":
{
st.setCond(4, true); st.setCond(4, true);
st.unset("talk"); st.unset("talk");
break; break;
}
case "30894-21.html": case "30894-21.html":
{
giveAdena(player, 88888, true); giveAdena(player, 88888, true);
if (player.getLevel() <= MAX_REWARD_LEVEL) if (player.getLevel() <= MAX_REWARD_LEVEL)
{ {
@@ -106,10 +117,13 @@ public class Q00141_ShadowFoxPart3 extends Quest
} }
st.exitQuest(false, true); st.exitQuest(false, true);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -146,19 +160,27 @@ public class Q00141_ShadowFoxPart3 extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
final QuestState qs = player.getQuestState(Q00140_ShadowFoxPart2.class.getSimpleName()); final QuestState qs = player.getQuestState(Q00140_ShadowFoxPart2.class.getSimpleName());
htmltext = (player.getLevel() >= MIN_LEVEL) ? ((qs != null) && qs.isCompleted()) ? "30894-01.htm" : "30894-00.html" : "30894-02.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? ((qs != null) && qs.isCompleted()) ? "30894-01.htm" : "30894-00.html" : "30894-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "30894-04.html"; htmltext = "30894-04.html";
break; break;
}
case 2: case 2:
{
htmltext = "30894-07.html"; htmltext = "30894-07.html";
break; break;
}
case 3: case 3:
{
if (st.getInt("talk") == 1) if (st.getInt("talk") == 1)
{ {
htmltext = "30894-09.html"; htmltext = "30894-09.html";
@@ -174,15 +196,21 @@ public class Q00141_ShadowFoxPart3 extends Quest
st.set("talk", "1"); st.set("talk", "1");
} }
break; break;
}
case 4: case 4:
{
htmltext = "30894-19.html"; htmltext = "30894-19.html";
break; break;
} }
}
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -81,39 +81,52 @@ public class Q00237_WindsOfChange extends Quest
case "30969-08c.html": case "30969-08c.html":
case "30897-02.html":// ROMAN case "30897-02.html":// ROMAN
case "30925-02.html":// MORELYN case "30925-02.html":// MORELYN
{
htmltext = event; htmltext = event;
break; break;
}
case "30899-06.html": case "30899-06.html":
{
st.startQuest(); st.startQuest();
giveItems(player, FLAUENS_LETTER, 1); giveItems(player, FLAUENS_LETTER, 1);
htmltext = event; htmltext = event;
break; break;
}
case "30969-02.html": case "30969-02.html":
{
takeItems(player, FLAUENS_LETTER, -1); takeItems(player, FLAUENS_LETTER, -1);
htmltext = event; htmltext = event;
break; break;
}
case "30969-05.html": case "30969-05.html":
{
if (st.isCond(1)) if (st.isCond(1))
{ {
st.setCond(2, true); st.setCond(2, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "30897-03.html": case "30897-03.html":
{
if (st.isCond(2)) if (st.isCond(2))
{ {
st.setCond(3, true); st.setCond(3, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "30925-03.html": case "30925-03.html":
{
if (st.isCond(3)) if (st.isCond(3))
{ {
st.setCond(4, true); st.setCond(4, true);
htmltext = event; htmltext = event;
} }
break; break;
}
case "30969-09.html": case "30969-09.html":
{
if (st.isCond(4)) if (st.isCond(4))
{ {
giveItems(player, DOSKOZER_LETTER, 1); giveItems(player, DOSKOZER_LETTER, 1);
@@ -121,7 +134,9 @@ public class Q00237_WindsOfChange extends Quest
htmltext = event; htmltext = event;
} }
break; break;
}
case "30969-10.html": case "30969-10.html":
{
if (st.isCond(4)) if (st.isCond(4))
{ {
giveItems(player, ATHENIA_LETTER, 1); giveItems(player, ATHENIA_LETTER, 1);
@@ -129,14 +144,18 @@ public class Q00237_WindsOfChange extends Quest
htmltext = event; htmltext = event;
} }
break; break;
}
case "32641-02.html": case "32641-02.html":
{
giveAdena(player, 213876, true); giveAdena(player, 213876, true);
giveItems(player, VICINITY_OF_FOS, 1); giveItems(player, VICINITY_OF_FOS, 1);
addExpAndSp(player, 892773, 60012); addExpAndSp(player, 892773, 60012);
st.exitQuest(false, true); st.exitQuest(false, true);
htmltext = event; htmltext = event;
break; break;
}
case "32643-02.html": case "32643-02.html":
{
giveAdena(player, 213876, true); giveAdena(player, 213876, true);
giveItems(player, SUPPORT_CERTIFICATE, 1); giveItems(player, SUPPORT_CERTIFICATE, 1);
addExpAndSp(player, 892773, 60012); addExpAndSp(player, 892773, 60012);
@@ -144,6 +163,7 @@ public class Q00237_WindsOfChange extends Quest
htmltext = event; htmltext = event;
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -156,35 +176,52 @@ public class Q00237_WindsOfChange extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case FLAUEN: case FLAUEN:
{
switch (st.getState()) switch (st.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "30899-09.html"; htmltext = "30899-09.html";
break; break;
}
case State.CREATED: case State.CREATED:
{
htmltext = (talker.getLevel() >= MIN_LEVEL) ? "30899-01.htm" : "30899-00.html"; htmltext = (talker.getLevel() >= MIN_LEVEL) ? "30899-01.htm" : "30899-00.html";
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
case 4: case 4:
{
htmltext = "30899-07.html"; htmltext = "30899-07.html";
break; break;
}
case 2: case 2:
{
htmltext = "30899-10.html"; htmltext = "30899-10.html";
break; break;
}
case 3: case 3:
{
htmltext = "30899-11.html"; htmltext = "30899-11.html";
break; break;
}
case 5: case 5:
case 6: case 6:
{
htmltext = "30899-08.html"; htmltext = "30899-08.html";
break; break;
} }
} }
}
}
break; break;
}
case IASON: case IASON:
{
if (st.isCompleted()) if (st.isCompleted())
{ {
htmltext = Quest.getNoQuestMsg(talker); htmltext = Quest.getNoQuestMsg(talker);
@@ -194,45 +231,67 @@ public class Q00237_WindsOfChange extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "30969-01.html"; htmltext = "30969-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "30969-06.html"; htmltext = "30969-06.html";
break; break;
}
case 4: case 4:
{
htmltext = "30969-07.html"; htmltext = "30969-07.html";
break; break;
}
case 5: case 5:
case 6: case 6:
{
htmltext = "30969-11.html"; htmltext = "30969-11.html";
break; break;
} }
} }
}
break; break;
}
case ROMAN: case ROMAN:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 2: case 2:
{
htmltext = "30897-01.html"; htmltext = "30897-01.html";
break; break;
}
case 3: case 3:
case 4: case 4:
{
htmltext = "30897-04.html"; htmltext = "30897-04.html";
break; break;
} }
}
break; break;
}
case MORELYN: case MORELYN:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 3: case 3:
{
htmltext = "30925-01.html"; htmltext = "30925-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "30925-04.html"; htmltext = "30925-04.html";
break; break;
} }
}
break; break;
}
case HELVETICA: case HELVETICA:
{
if (st.isCompleted()) if (st.isCompleted())
{ {
final QuestState q238 = st.getPlayer().getQuestState(Q00238_SuccessFailureOfBusiness.class.getSimpleName()); final QuestState q238 = st.getPlayer().getQuestState(Q00238_SuccessFailureOfBusiness.class.getSimpleName());
@@ -247,7 +306,9 @@ public class Q00237_WindsOfChange extends Quest
htmltext = "32641-04.html"; htmltext = "32641-04.html";
} }
break; break;
}
case ATHENIA: case ATHENIA:
{
if (st.isCompleted()) if (st.isCompleted())
{ {
final QuestState q239 = st.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName()); final QuestState q239 = st.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName());
@@ -263,6 +324,7 @@ public class Q00237_WindsOfChange extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -70,13 +70,18 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
switch (event) switch (event)
{ {
case "32461-02.htm": case "32461-02.htm":
{
htmltext = event; htmltext = event;
break; break;
}
case "32461-03.html": case "32461-03.html":
{
st.startQuest(); st.startQuest();
htmltext = event; htmltext = event;
break; break;
}
case "32461-06.html": case "32461-06.html":
{
if (st.isCond(2)) if (st.isCond(2))
{ {
st.setCond(3, true); st.setCond(3, true);
@@ -84,6 +89,7 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -142,9 +148,12 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "32461-09.html"; htmltext = "32461-09.html";
break; break;
}
case State.CREATED: case State.CREATED:
{
final QuestState q237 = st.getPlayer().getQuestState(Q00237_WindsOfChange.class.getSimpleName()); final QuestState q237 = st.getPlayer().getQuestState(Q00237_WindsOfChange.class.getSimpleName());
final QuestState q239 = st.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName()); final QuestState q239 = st.getPlayer().getQuestState(Q00239_WontYouJoinUs.class.getSimpleName());
if ((q239 != null) && q239.isCompleted()) if ((q239 != null) && q239.isCompleted())
@@ -160,23 +169,32 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
htmltext = "32461-00.html"; htmltext = "32461-00.html";
} }
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "32461-04.html"; htmltext = "32461-04.html";
break; break;
}
case 2: case 2:
{
if (getQuestItemsCount(talker, BROKEN_PIECE_OF_MAGIC_FORCE) == BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED) if (getQuestItemsCount(talker, BROKEN_PIECE_OF_MAGIC_FORCE) == BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED)
{ {
htmltext = "32461-05.html"; htmltext = "32461-05.html";
takeItems(talker, BROKEN_PIECE_OF_MAGIC_FORCE, -1); takeItems(talker, BROKEN_PIECE_OF_MAGIC_FORCE, -1);
} }
break; break;
}
case 3: case 3:
{
htmltext = "32461-07.html"; htmltext = "32461-07.html";
break; break;
}
case 4: case 4:
{
if (getQuestItemsCount(talker, GUARDIAN_SPIRIT_FRAGMENT) == GUARDIAN_SPIRIT_FRAGMENT_NEEDED) if (getQuestItemsCount(talker, GUARDIAN_SPIRIT_FRAGMENT) == GUARDIAN_SPIRIT_FRAGMENT_NEEDED)
{ {
htmltext = "32461-08.html"; htmltext = "32461-08.html";
@@ -187,8 +205,10 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
} }
break; break;
} }
}
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -108,9 +108,12 @@ public class Q00254_LegendaryTales extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() < MIN_LEVEL) ? "30754-00.htm" : "30754-01.htm"; htmltext = (player.getLevel() < MIN_LEVEL) ? "30754-00.htm" : "30754-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
final long count = getQuestItemsCount(player, LARGE_DRAGON_SKULL); final long count = getQuestItemsCount(player, LARGE_DRAGON_SKULL);
if (st.isCond(1)) if (st.isCond(1))
{ {
@@ -121,10 +124,13 @@ public class Q00254_LegendaryTales extends Quest
htmltext = ((count < 7) ? "30754-12.htm" : "30754-07.html"); htmltext = ((count < 7) ? "30754-12.htm" : "30754-07.html");
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "30754-29.html"; htmltext = "30754-29.html";
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -142,7 +148,9 @@ public class Q00254_LegendaryTales extends Quest
switch (event) switch (event)
{ {
case "30754-05.html": case "30754-05.html":
{
st.startQuest(); st.startQuest();
}
case "30754-02.html": case "30754-02.html":
case "30754-03.html": case "30754-03.html":
case "30754-04.htm": case "30754-04.htm":
@@ -150,29 +158,45 @@ public class Q00254_LegendaryTales extends Quest
case "30754-15.html": case "30754-15.html":
case "30754-20.html": case "30754-20.html":
case "30754-21.html": case "30754-21.html":
{
htmltext = event; htmltext = event;
break; break;
}
case "25718": // Emerald Horn case "25718": // Emerald Horn
{
htmltext = (checkMask(st, Bosses.EMERALD_HORN) ? "30754-22.html" : "30754-16.html"); htmltext = (checkMask(st, Bosses.EMERALD_HORN) ? "30754-22.html" : "30754-16.html");
break; break;
}
case "25719": // Dust Rider case "25719": // Dust Rider
{
htmltext = (checkMask(st, Bosses.DUST_RIDER) ? "30754-23.html" : "30754-17.html"); htmltext = (checkMask(st, Bosses.DUST_RIDER) ? "30754-23.html" : "30754-17.html");
break; break;
}
case "25720": // Bleeding Fly case "25720": // Bleeding Fly
{
htmltext = (checkMask(st, Bosses.BLEEDING_FLY) ? "30754-24.html" : "30754-18.html"); htmltext = (checkMask(st, Bosses.BLEEDING_FLY) ? "30754-24.html" : "30754-18.html");
break; break;
}
case "25721": // Black Dagger Wing case "25721": // Black Dagger Wing
{
htmltext = (checkMask(st, Bosses.BLACK_DAGGER) ? "30754-25.html" : "30754-19.html"); htmltext = (checkMask(st, Bosses.BLACK_DAGGER) ? "30754-25.html" : "30754-19.html");
break; break;
}
case "25722": // Shadow Summoner case "25722": // Shadow Summoner
{
htmltext = (checkMask(st, Bosses.SHADOW_SUMMONER) ? "30754-26.html" : "30754-16.html"); htmltext = (checkMask(st, Bosses.SHADOW_SUMMONER) ? "30754-26.html" : "30754-16.html");
break; break;
}
case "25723": // Spike Slasher case "25723": // Spike Slasher
{
htmltext = (checkMask(st, Bosses.SPIKE_SLASHER) ? "30754-27.html" : "30754-17.html"); htmltext = (checkMask(st, Bosses.SPIKE_SLASHER) ? "30754-27.html" : "30754-17.html");
break; break;
}
case "25724": // Muscle Bomber case "25724": // Muscle Bomber
{
htmltext = (checkMask(st, Bosses.MUSCLE_BOMBER) ? "30754-28.html" : "30754-18.html"); htmltext = (checkMask(st, Bosses.MUSCLE_BOMBER) ? "30754-28.html" : "30754-18.html");
break; break;
}
case "13467": // Vesper Thrower case "13467": // Vesper Thrower
case "13466": // Vesper Singer case "13466": // Vesper Singer
case "13465": // Vesper Caster case "13465": // Vesper Caster
@@ -184,6 +208,7 @@ public class Q00254_LegendaryTales extends Quest
case "13460": // Vesper Sharper case "13460": // Vesper Sharper
case "13461": // Vesper Fighter case "13461": // Vesper Fighter
case "13462": // Vesper Stormer case "13462": // Vesper Stormer
{
if (st.isCond(2) && (getQuestItemsCount(player, LARGE_DRAGON_SKULL) >= 7)) if (st.isCond(2) && (getQuestItemsCount(player, LARGE_DRAGON_SKULL) >= 7))
{ {
htmltext = "30754-09.html"; htmltext = "30754-09.html";
@@ -192,6 +217,7 @@ public class Q00254_LegendaryTales extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -138,9 +138,12 @@ public final class Q00381_LetsBecomeARoyalMember extends Quest
switch (qs.getMemoState()) switch (qs.getMemoState())
{ {
case 1: case 1:
{
htmltext = "30090-01.html"; htmltext = "30090-01.html";
break; break;
}
case 2: case 2:
{
if (hasQuestItems(talker, COIN_ALBUM)) if (hasQuestItems(talker, COIN_ALBUM))
{ {
htmltext = "30090-05.html"; htmltext = "30090-05.html";
@@ -158,6 +161,7 @@ public final class Q00381_LetsBecomeARoyalMember extends Quest
} }
break; break;
} }
}
break; break;
} }
} }

View File

@@ -336,18 +336,24 @@ public final class Q00421_LittleWingsBigAdventure extends Quest
switch (flute.getId()) switch (flute.getId())
{ {
case DRAGONFLUTE_OF_WIND: case DRAGONFLUTE_OF_WIND:
{
takeItems(talker, DRAGONFLUTE_OF_WIND, -1); takeItems(talker, DRAGONFLUTE_OF_WIND, -1);
giveItems(talker, DRAGON_BUGLE_OF_WIND, 1); giveItems(talker, DRAGON_BUGLE_OF_WIND, 1);
break; break;
}
case DRAGONFLUTE_OF_STAR: case DRAGONFLUTE_OF_STAR:
{
takeItems(talker, DRAGONFLUTE_OF_STAR, -1); takeItems(talker, DRAGONFLUTE_OF_STAR, -1);
giveItems(talker, DRAGON_BUGLE_OF_STAR, 1); giveItems(talker, DRAGON_BUGLE_OF_STAR, 1);
break; break;
}
case DRAGONFLUTE_OF_TWILIGHT: case DRAGONFLUTE_OF_TWILIGHT:
{
takeItems(talker, DRAGONFLUTE_OF_TWILIGHT, -1); takeItems(talker, DRAGONFLUTE_OF_TWILIGHT, -1);
giveItems(talker, DRAGON_BUGLE_OF_TWILIGHT, 1); giveItems(talker, DRAGON_BUGLE_OF_TWILIGHT, 1);
break; break;
} }
}
qs.exitQuest(true, true); qs.exitQuest(true, true);
htmltext = "30747-16.html"; htmltext = "30747-16.html";
@@ -418,17 +424,23 @@ public final class Q00421_LittleWingsBigAdventure extends Quest
switch (getRandom(3)) switch (getRandom(3))
{ {
case 0: case 0:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WHY_DO_YOU_BOTHER_ME_AGAIN); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WHY_DO_YOU_BOTHER_ME_AGAIN);
break; break;
}
case 1: case 1:
{
npc.broadcastSay(ChatType.NPC_GENERAL, data.message); npc.broadcastSay(ChatType.NPC_GENERAL, data.message);
break; break;
}
case 2: case 2:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LEAVE_NOW_BEFORE_YOU_INCUR_THE_WRATH_OF_THE_GUARDIAN_GHOST); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LEAVE_NOW_BEFORE_YOU_INCUR_THE_WRATH_OF_THE_GUARDIAN_GHOST);
break; break;
} }
} }
} }
}
else if (getRandom(100) < 30) else if (getRandom(100) < 30)
{ {
npc.setTarget(attacker); npc.setTarget(attacker);

View File

@@ -69,19 +69,27 @@ public class Q00450_GraveRobberRescue extends Quest
case "32650-04.htm": case "32650-04.htm":
case "32650-05.htm": case "32650-05.htm":
case "32650-06.html": case "32650-06.html":
{
break; break;
}
case "32650-07.htm": case "32650-07.htm":
{
st.startQuest(); st.startQuest();
break; break;
}
case "despawn": case "despawn":
{
npc.setBusy(false); npc.setBusy(false);
npc.deleteMe(); npc.deleteMe();
htmltext = null; htmltext = null;
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -96,16 +104,21 @@ public class Q00450_GraveRobberRescue extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
if (!st.isNowAvailable()) if (!st.isNowAvailable())
{ {
htmltext = "32650-03.html"; htmltext = "32650-03.html";
break; break;
} }
st.setState(State.CREATED); st.setState(State.CREATED);
}
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "32650-01.htm" : "32650-02.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "32650-01.htm" : "32650-02.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if (st.isCond(1)) if (st.isCond(1))
{ {
htmltext = (!hasQuestItems(player, EVIDENCE_OF_MIGRATION)) ? "32650-08.html" : "32650-09.html"; htmltext = (!hasQuestItems(player, EVIDENCE_OF_MIGRATION)) ? "32650-08.html" : "32650-09.html";
@@ -119,6 +132,7 @@ public class Q00450_GraveRobberRescue extends Quest
break; break;
} }
} }
}
else if (st.isCond(1)) else if (st.isCond(1))
{ {
if (npc.isBusy()) if (npc.isBusy())

View File

@@ -98,9 +98,12 @@ public class Q00452_FindingtheLostSoldiers extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() < 84) ? "32773-0.html" : "32773-1.htm"; htmltext = (player.getLevel() < 84) ? "32773-0.html" : "32773-1.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if (qs.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "32773-4.html"; htmltext = "32773-4.html";
@@ -114,7 +117,9 @@ public class Q00452_FindingtheLostSoldiers extends Quest
qs.exitQuest(QuestType.DAILY, true); qs.exitQuest(QuestType.DAILY, true);
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
if (qs.isNowAvailable()) if (qs.isNowAvailable())
{ {
qs.setState(State.CREATED); qs.setState(State.CREATED);
@@ -127,6 +132,7 @@ public class Q00452_FindingtheLostSoldiers extends Quest
break; break;
} }
} }
}
else if (qs.isCond(1)) else if (qs.isCond(1))
{ {
htmltext = "corpse-1.html"; htmltext = "corpse-1.html";

View File

@@ -191,6 +191,7 @@ public final class Q00456_DontKnowDontCare extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
if (!qs.isNowAvailable()) if (!qs.isNowAvailable())
{ {
htmltext = "32864-02.html"; htmltext = "32864-02.html";
@@ -198,10 +199,14 @@ public final class Q00456_DontKnowDontCare extends Quest
} }
qs.setState(State.CREATED); qs.setState(State.CREATED);
// intentional fall-through // intentional fall-through
}
case State.CREATED: case State.CREATED:
{
htmltext = ((player.getLevel() >= MIN_LEVEL) ? "32864-01.htm" : "32864-03.html"); htmltext = ((player.getLevel() >= MIN_LEVEL) ? "32864-01.htm" : "32864-03.html");
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
@@ -223,6 +228,7 @@ public final class Q00456_DontKnowDontCare extends Quest
break; break;
} }
} }
}
return htmltext; return htmltext;
} }
@@ -237,23 +243,29 @@ public final class Q00456_DontKnowDontCare extends Quest
case "32864-04.htm": case "32864-04.htm":
case "32864-05.htm": case "32864-05.htm":
case "32864-06.htm": case "32864-06.htm":
{
if ((qs != null) && qs.isCreated()) if ((qs != null) && qs.isCreated())
{ {
htmltext = event; htmltext = event;
} }
break; break;
}
case "32864-07.htm": case "32864-07.htm":
{
if ((qs != null) && qs.isCreated()) if ((qs != null) && qs.isCreated())
{ {
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
} }
break; break;
}
case "unspawnRaidCorpse": case "unspawnRaidCorpse":
{
allowedPlayerMap.remove(npc.getObjectId()); allowedPlayerMap.remove(npc.getObjectId());
npc.deleteMe(); npc.deleteMe();
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -122,32 +122,41 @@ public class Q00463_IMustBeaGenius extends Quest
switch (event) switch (event)
{ {
case "32069-03.htm": case "32069-03.htm":
{
st.startQuest(); st.startQuest();
final int number = getRandom(51) + 550; final int number = getRandom(51) + 550;
st.set("number", String.valueOf(number)); st.set("number", String.valueOf(number));
st.set("chance", String.valueOf(getRandom(4))); st.set("chance", String.valueOf(getRandom(4)));
htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", String.valueOf(number)); htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", String.valueOf(number));
break; break;
}
case "32069-05.htm": case "32069-05.htm":
{
htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", st.get("number")); htmltext = getHtm(player.getHtmlPrefix(), event).replace("%num%", st.get("number"));
break; break;
}
case "reward": case "reward":
{
if (st.isCond(2)) if (st.isCond(2))
{ {
final int rnd = getRandom(REWARD.length); final int rnd = getRandom(REWARD.length);
final String str = (REWARD[rnd][2] < 10) ? "0" + REWARD[rnd][2] : String.valueOf(REWARD[rnd][2]); final String str = (REWARD[rnd][2] < 10) ? "0" + REWARD[rnd][2] : String.valueOf(REWARD[rnd][2]);
addExpAndSp(player, REWARD[rnd][0], REWARD[rnd][1]); addExpAndSp(player, REWARD[rnd][0], REWARD[rnd][1]);
st.exitQuest(QuestType.DAILY, true); st.exitQuest(QuestType.DAILY, true);
htmltext = "32069-" + str + ".html"; htmltext = "32069-" + str + ".html";
} }
break; break;
}
case "32069-02.htm": case "32069-02.htm":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -205,16 +214,21 @@ public class Q00463_IMustBeaGenius extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.COMPLETED: case State.COMPLETED:
{
if (!st.isNowAvailable()) if (!st.isNowAvailable())
{ {
htmltext = "32069-07.htm"; htmltext = "32069-07.htm";
break; break;
} }
st.setState(State.CREATED); st.setState(State.CREATED);
}
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= MIN_LEVEL) ? "32069-01.htm" : "32069-00.htm"; htmltext = (player.getLevel() >= MIN_LEVEL) ? "32069-01.htm" : "32069-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if (st.isCond(1)) if (st.isCond(1))
{ {
htmltext = "32069-04.html"; htmltext = "32069-04.html";
@@ -231,6 +245,7 @@ public class Q00463_IMustBeaGenius extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -73,13 +73,19 @@ public final class Q00474_WaitingForTheSummer extends Quest
{ {
case "32327-02.htm": case "32327-02.htm":
case "32327-03.htm": case "32327-03.htm":
{
break; break;
}
case "32327-04.htm": case "32327-04.htm":
{
qs.startQuest(); qs.startQuest();
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -102,13 +108,17 @@ public final class Q00474_WaitingForTheSummer extends Quest
qs.setState(State.CREATED); qs.setState(State.CREATED);
} }
case State.CREATED: case State.CREATED:
{
htmltext = "32327-01.htm"; htmltext = "32327-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "32327-05.html" : "32327-06.html"; htmltext = (qs.isCond(1)) ? "32327-05.html" : "32327-06.html";
break; break;
} }
} }
}
else if (qs.isStarted() && qs.isCond(2)) else if (qs.isStarted() && qs.isCond(2))
{ {
giveAdena(player, 194000, true); giveAdena(player, 194000, true);
@@ -138,19 +148,27 @@ public final class Q00474_WaitingForTheSummer extends Quest
{ {
case LOST_BUFFALO: case LOST_BUFFALO:
case FROST_BUFFALO: case FROST_BUFFALO:
{
itemId = BUFFALO_MEAT; itemId = BUFFALO_MEAT;
break; break;
}
case URSUS: case URSUS:
case URSUS_CUB: case URSUS_CUB:
{
itemId = URSUS_MEAT; itemId = URSUS_MEAT;
break; break;
}
case LOST_YETI: case LOST_YETI:
case FROST_YETI: case FROST_YETI:
{
itemId = YETI_MEAT; itemId = YETI_MEAT;
break; break;
}
default: default:
{
itemId = -1; itemId = -1;
} }
}
// Give item // Give item
if (itemId != -1) if (itemId != -1)

View File

@@ -91,15 +91,19 @@ public final class Q00481_ShadowHelper extends Quest
case "33302-03.htm": case "33302-03.htm":
case "33302-04.htm": case "33302-04.htm":
case "33302-07.html": case "33302-07.html":
{
break; break;
}
case "33302-05.htm": case "33302-05.htm":
{ {
qs.startQuest(); qs.startQuest();
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -121,8 +125,10 @@ public final class Q00481_ShadowHelper extends Quest
qs.setState(State.CREATED); qs.setState(State.CREATED);
} }
case State.CREATED: case State.CREATED:
{
htmltext = "33302-01.htm"; htmltext = "33302-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{ {
if (qs.isCond(1)) if (qs.isCond(1))

View File

@@ -87,16 +87,24 @@ public final class Q00511_AwlUnderFoot extends Quest
case "Warden-05.html": case "Warden-05.html":
case "Warden-06.html": case "Warden-06.html":
case "Warden-09.html": case "Warden-09.html":
{
break; break;
}
case "Warden-02.htm": case "Warden-02.htm":
{
qs.startQuest(); qs.startQuest();
break; break;
}
case "Warden-10.html": case "Warden-10.html":
{
qs.exitQuest(QuestType.REPEATABLE); qs.exitQuest(QuestType.REPEATABLE);
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -130,11 +130,15 @@ public final class Q00627_HeartInSearchOfPower extends Quest
break; break;
} }
case "31518-09.html": case "31518-09.html":
{
break; break;
}
default: default:
{
htmltext = null; htmltext = null;
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -185,19 +189,27 @@ public final class Q00627_HeartInSearchOfPower extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "31518-03.html"; htmltext = "31518-03.html";
break; break;
}
case 2: case 2:
{
htmltext = "31518-04.html"; htmltext = "31518-04.html";
break; break;
}
case 3: case 3:
{
htmltext = "31518-07.html"; htmltext = "31518-07.html";
break; break;
}
case 4: case 4:
{
htmltext = "31518-08.html"; htmltext = "31518-08.html";
break; break;
} }
} }
}
else if (npc.getId() == ENFEUX) else if (npc.getId() == ENFEUX)
{ {
if (st.isCond(3)) if (st.isCond(3))

View File

@@ -84,12 +84,16 @@ public class Q00652_AnAgedExAdventurer extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() >= 46) ? "32012-01.htm" : "32012-01a.htm"; htmltext = (player.getLevel() >= 46) ? "32012-01.htm" : "32012-01a.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = "32012-02.html"; htmltext = "32012-02.html";
break; break;
} }
}
break; break;
} }
case SARA: case SARA:

View File

@@ -73,23 +73,34 @@ public class Q10275_ContainingTheAttributePower extends Quest
{ {
case "30839-02.html": case "30839-02.html":
case "31307-02.html": case "31307-02.html":
{
st.startQuest(); st.startQuest();
break; break;
}
case "30839-05.html": case "30839-05.html":
{
st.setCond(2, true); st.setCond(2, true);
break; break;
}
case "31307-05.html": case "31307-05.html":
{
st.setCond(7, true); st.setCond(7, true);
break; break;
}
case "32325-03.html": case "32325-03.html":
{
st.setCond(3, true); st.setCond(3, true);
giveItems(player, YINSWORD, 1, AttributeType.FIRE, 10); giveItems(player, YINSWORD, 1, AttributeType.FIRE, 10);
break; break;
}
case "32326-03.html": case "32326-03.html":
{
st.setCond(8, true); st.setCond(8, true);
giveItems(player, YANGSWORD, 1, AttributeType.EARTH, 10); giveItems(player, YANGSWORD, 1, AttributeType.EARTH, 10);
break; break;
}
case "32325-06.html": case "32325-06.html":
{
if (hasQuestItems(player, YINSWORD)) if (hasQuestItems(player, YINSWORD))
{ {
takeItems(player, YINSWORD, 1); takeItems(player, YINSWORD, 1);
@@ -97,7 +108,9 @@ public class Q10275_ContainingTheAttributePower extends Quest
} }
giveItems(player, YINSWORD, 1, AttributeType.FIRE, 10); giveItems(player, YINSWORD, 1, AttributeType.FIRE, 10);
break; break;
}
case "32326-06.html": case "32326-06.html":
{
if (hasQuestItems(player, YANGSWORD)) if (hasQuestItems(player, YANGSWORD))
{ {
takeItems(player, YANGSWORD, 1); takeItems(player, YANGSWORD, 1);
@@ -105,17 +118,22 @@ public class Q10275_ContainingTheAttributePower extends Quest
} }
giveItems(player, YANGSWORD, 1, AttributeType.EARTH, 10); giveItems(player, YANGSWORD, 1, AttributeType.EARTH, 10);
break; break;
}
case "32325-09.html": case "32325-09.html":
{
st.setCond(5, true); st.setCond(5, true);
BLESSING_OF_FIRE.getSkill().applyEffects(player, player); BLESSING_OF_FIRE.getSkill().applyEffects(player, player);
giveItems(player, YINSWORD, 1, AttributeType.FIRE, 10); giveItems(player, YINSWORD, 1, AttributeType.FIRE, 10);
break; break;
}
case "32326-09.html": case "32326-09.html":
{
st.setCond(10, true); st.setCond(10, true);
BLESSING_OF_EARTH.getSkill().applyEffects(player, player); BLESSING_OF_EARTH.getSkill().applyEffects(player, player);
giveItems(player, YANGSWORD, 1, AttributeType.EARTH, 10); giveItems(player, YANGSWORD, 1, AttributeType.EARTH, 10);
break; break;
} }
}
if (Util.isDigit(event)) if (Util.isDigit(event))
{ {
@@ -139,6 +157,7 @@ public class Q10275_ContainingTheAttributePower extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case AIR: case AIR:
{
if ((st.isCond(8) || st.isCond(10)) && (getItemEquipped(player, Inventory.PAPERDOLL_RHAND) == YANGSWORD) && (getQuestItemsCount(player, SOULPIECEAIR) < 6) && (getRandom(100) < 30)) if ((st.isCond(8) || st.isCond(10)) && (getItemEquipped(player, Inventory.PAPERDOLL_RHAND) == YANGSWORD) && (getQuestItemsCount(player, SOULPIECEAIR) < 6) && (getRandom(100) < 30))
{ {
giveItems(player, SOULPIECEAIR, 1); giveItems(player, SOULPIECEAIR, 1);
@@ -152,7 +171,9 @@ public class Q10275_ContainingTheAttributePower extends Quest
} }
} }
break; break;
}
case WATER: case WATER:
{
if (((st.getCond() >= 3) || (st.getCond() <= 5)) && (getItemEquipped(player, Inventory.PAPERDOLL_RHAND) == YINSWORD) && (getQuestItemsCount(player, SOULPIECEWATER) < 6) && (getRandom(100) < 30)) if (((st.getCond() >= 3) || (st.getCond() <= 5)) && (getItemEquipped(player, Inventory.PAPERDOLL_RHAND) == YINSWORD) && (getQuestItemsCount(player, SOULPIECEWATER) < 6) && (getRandom(100) < 30))
{ {
giveItems(player, SOULPIECEWATER, 1); giveItems(player, SOULPIECEWATER, 1);
@@ -167,6 +188,7 @@ public class Q10275_ContainingTheAttributePower extends Quest
} }
break; break;
} }
}
return null; return null;
} }
@@ -184,23 +206,33 @@ public class Q10275_ContainingTheAttributePower extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() > 75) ? "30839-01.htm" : "30839-00.html"; htmltext = (player.getLevel() > 75) ? "30839-01.htm" : "30839-00.html";
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "30839-03.html"; htmltext = "30839-03.html";
break; break;
}
case 2: case 2:
{
htmltext = "30839-05.html"; htmltext = "30839-05.html";
break; break;
} }
}
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "30839-0a.html"; htmltext = "30839-0a.html";
break; break;
} }
}
break; break;
} }
case WEBER: case WEBER:
@@ -208,23 +240,33 @@ public class Q10275_ContainingTheAttributePower extends Quest
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = (player.getLevel() > 75) ? "31307-01.htm" : "31307-00.html"; htmltext = (player.getLevel() > 75) ? "31307-01.htm" : "31307-00.html";
break; break;
}
case State.STARTED: case State.STARTED:
{
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "31307-03.html"; htmltext = "31307-03.html";
break; break;
}
case 7: case 7:
{
htmltext = "31307-05.html"; htmltext = "31307-05.html";
break; break;
} }
}
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "31307-0a.html"; htmltext = "31307-0a.html";
break; break;
} }
}
break; break;
} }
case YIN: case YIN:
@@ -234,22 +276,30 @@ public class Q10275_ContainingTheAttributePower extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 2: case 2:
{
htmltext = "32325-01.html"; htmltext = "32325-01.html";
break; break;
}
case 3: case 3:
case 5: case 5:
{
htmltext = "32325-04.html"; htmltext = "32325-04.html";
break; break;
}
case 4: case 4:
{
htmltext = "32325-08.html"; htmltext = "32325-08.html";
takeItems(player, YINSWORD, 1); takeItems(player, YINSWORD, 1);
takeItems(player, SOULPIECEWATER, -1); takeItems(player, SOULPIECEWATER, -1);
break; break;
}
case 6: case 6:
{
htmltext = "32325-10.html"; htmltext = "32325-10.html";
break; break;
} }
} }
}
break; break;
} }
case YANG: case YANG:
@@ -259,22 +309,30 @@ public class Q10275_ContainingTheAttributePower extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 7: case 7:
{
htmltext = "32326-01.html"; htmltext = "32326-01.html";
break; break;
}
case 8: case 8:
case 10: case 10:
{
htmltext = "32326-04.html"; htmltext = "32326-04.html";
break; break;
}
case 9: case 9:
{
htmltext = "32326-08.html"; htmltext = "32326-08.html";
takeItems(player, YANGSWORD, 1); takeItems(player, YANGSWORD, 1);
takeItems(player, SOULPIECEAIR, -1); takeItems(player, SOULPIECEAIR, -1);
break; break;
}
case 11: case 11:
{
htmltext = "32326-10.html"; htmltext = "32326-10.html";
break; break;
} }
} }
}
break; break;
} }
} }

View File

@@ -127,13 +127,17 @@ public class Q10283_RequestOfIceMerchant extends Quest
switch (npc.getId()) switch (npc.getId())
{ {
case RAFFORTY: case RAFFORTY:
{
switch (st.getState()) switch (st.getState())
{ {
case State.CREATED: case State.CREATED:
{
final QuestState _prev = player.getQuestState(Q00115_TheOtherSideOfTruth.class.getSimpleName()); final QuestState _prev = player.getQuestState(Q00115_TheOtherSideOfTruth.class.getSimpleName());
htmltext = ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 82)) ? "32020-01.htm" : "32020-00.htm"; htmltext = ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 82)) ? "32020-01.htm" : "32020-00.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if (st.isCond(1)) if (st.isCond(1))
{ {
htmltext = "32020-04.htm"; htmltext = "32020-04.htm";
@@ -143,24 +147,32 @@ public class Q10283_RequestOfIceMerchant extends Quest
htmltext = "32020-08.htm"; htmltext = "32020-08.htm";
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = "32020-09.htm"; htmltext = "32020-09.htm";
break; break;
} }
}
break; break;
}
case KIER: case KIER:
{
if (st.isCond(2)) if (st.isCond(2))
{ {
htmltext = "32022-01.html"; htmltext = "32022-01.html";
} }
break; break;
}
case JINIA: case JINIA:
{
if (st.isCond(2)) if (st.isCond(2))
{ {
htmltext = "32760-02.html"; htmltext = "32760-02.html";
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
} }

View File

@@ -60,13 +60,18 @@ public class Q10289_FadeToBlack extends Quest
switch (event) switch (event)
{ {
case "32757-02.htm": case "32757-02.htm":
{
htmltext = event; htmltext = event;
break; break;
}
case "32757-03.htm": case "32757-03.htm":
{
qs.startQuest(); qs.startQuest();
htmltext = event; htmltext = event;
break; break;
}
case "32757-06.html": case "32757-06.html":
{
if (qs.isCond(2) && hasQuestItems(player, MARK_OF_DARKNESS)) if (qs.isCond(2) && hasQuestItems(player, MARK_OF_DARKNESS))
{ {
htmltext = "32757-07.html"; htmltext = "32757-07.html";
@@ -80,6 +85,7 @@ public class Q10289_FadeToBlack extends Quest
htmltext = event; htmltext = event;
} }
break; break;
}
case "11": case "11":
case "12": case "12":
case "13": case "13":
@@ -100,91 +106,132 @@ public class Q10289_FadeToBlack extends Quest
case "28": case "28":
case "29": case "29":
case "30": case "30":
{
if (qs.isCond(3) && hasQuestItems(player, MARK_OF_SPLENDOR)) if (qs.isCond(3) && hasQuestItems(player, MARK_OF_SPLENDOR))
{ {
// see 32757-08.html for recipe list (all moirai armor 60%) // see 32757-08.html for recipe list (all moirai armor 60%)
switch (event) switch (event)
{ {
case "11": case "11":
{
rewardItems(player, 15775, 1); rewardItems(player, 15775, 1);
giveAdena(player, 420920, true); giveAdena(player, 420920, true);
break; break;
}
case "12": case "12":
{
rewardItems(player, 15776, 1); rewardItems(player, 15776, 1);
giveAdena(player, 420920, true); giveAdena(player, 420920, true);
break; break;
}
case "13": case "13":
{
rewardItems(player, 15777, 1); rewardItems(player, 15777, 1);
giveAdena(player, 420920, true); giveAdena(player, 420920, true);
break; break;
}
case "14": case "14":
{
rewardItems(player, 15778, 1); rewardItems(player, 15778, 1);
break; break;
}
case "15": case "15":
{
rewardItems(player, 15779, 1); rewardItems(player, 15779, 1);
giveAdena(player, 168360, true); giveAdena(player, 168360, true);
break; break;
}
case "16": case "16":
{
rewardItems(player, 15780, 1); rewardItems(player, 15780, 1);
giveAdena(player, 168360, true); giveAdena(player, 168360, true);
break; break;
}
case "17": case "17":
{
rewardItems(player, 15781, 1); rewardItems(player, 15781, 1);
giveAdena(player, 252540, true); giveAdena(player, 252540, true);
break; break;
}
case "18": case "18":
{
rewardItems(player, 15782, 1); rewardItems(player, 15782, 1);
giveAdena(player, 357780, true); giveAdena(player, 357780, true);
break; break;
}
case "19": case "19":
{
rewardItems(player, 15783, 1); rewardItems(player, 15783, 1);
giveAdena(player, 357780, true); giveAdena(player, 357780, true);
break; break;
}
case "20": case "20":
{
rewardItems(player, 15784, 1); rewardItems(player, 15784, 1);
giveAdena(player, 505100, true); giveAdena(player, 505100, true);
break; break;
}
case "21": case "21":
{
rewardItems(player, 15785, 1); rewardItems(player, 15785, 1);
giveAdena(player, 505100, true); giveAdena(player, 505100, true);
break; break;
}
case "22": case "22":
{
rewardItems(player, 15786, 1); rewardItems(player, 15786, 1);
giveAdena(player, 505100, true); giveAdena(player, 505100, true);
break; break;
}
case "23": case "23":
{
rewardItems(player, 15787, 1); rewardItems(player, 15787, 1);
giveAdena(player, 505100, true); giveAdena(player, 505100, true);
break; break;
}
case "24": case "24":
{
rewardItems(player, 15787, 1); rewardItems(player, 15787, 1);
giveAdena(player, 505100, true); giveAdena(player, 505100, true);
break; break;
}
case "25": case "25":
{
rewardItems(player, 15789, 1); rewardItems(player, 15789, 1);
giveAdena(player, 505100, true); giveAdena(player, 505100, true);
break; break;
}
case "26": case "26":
{
rewardItems(player, 15790, 1); rewardItems(player, 15790, 1);
giveAdena(player, 496680, true); giveAdena(player, 496680, true);
break; break;
}
case "27": case "27":
{
rewardItems(player, 15791, 1); rewardItems(player, 15791, 1);
giveAdena(player, 496680, true); giveAdena(player, 496680, true);
break; break;
}
case "28": case "28":
{
rewardItems(player, 15792, 1); rewardItems(player, 15792, 1);
giveAdena(player, 563860, true); giveAdena(player, 563860, true);
break; break;
}
case "29": case "29":
{
rewardItems(player, 15793, 1); rewardItems(player, 15793, 1);
giveAdena(player, 509040, true); giveAdena(player, 509040, true);
break; break;
}
case "30": case "30":
{
rewardItems(player, 15794, 1); rewardItems(player, 15794, 1);
giveAdena(player, 454240, true); giveAdena(player, 454240, true);
break; break;
} }
}
final long marksOfDarkness = getQuestItemsCount(player, MARK_OF_DARKNESS); final long marksOfDarkness = getQuestItemsCount(player, MARK_OF_DARKNESS);
if (marksOfDarkness > 0) if (marksOfDarkness > 0)
@@ -196,6 +243,7 @@ public class Q10289_FadeToBlack extends Quest
} }
break; break;
} }
}
return htmltext; return htmltext;
} }
@@ -257,14 +305,18 @@ public class Q10289_FadeToBlack extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32757-04.html"; htmltext = "32757-04.html";
break; break;
}
case 2: case 2:
case 3: case 3:
{
htmltext = "32757-05.html"; htmltext = "32757-05.html";
break; break;
} }
} }
}
else else
{ {
htmltext = "32757-10.html"; htmltext = "32757-10.html";

View File

@@ -180,18 +180,26 @@ public final class Q10302_UnsettlingShadowAndRumors extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "32894-01.html"; htmltext = "32894-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "32894-03.html"; htmltext = "32894-03.html";
break; break;
}
case 5: case 5:
{
htmltext = "32894-04.html"; htmltext = "32894-04.html";
break; break;
}
case 6: case 6:
{
htmltext = "32894-07.html"; htmltext = "32894-07.html";
break; break;
} }
}
break; break;
} }
case CAS: case CAS:

View File

@@ -110,9 +110,11 @@ public final class Q10331_StartOfFate extends Quest
case "32160-08.html": // Dark Elven Mage case "32160-08.html": // Dark Elven Mage
case "32150-07.html": // Orc Fighter case "32150-07.html": // Orc Fighter
case "32150-08.html": // Orc Mage case "32150-08.html": // Orc Mage
{
/** /**
* 1st class transfer htmls for each class * 1st class transfer htmls for each class
*/ */
}
case "32146-09.html": // Trooper case "32146-09.html": // Trooper
case "32146-10.html": // Warder case "32146-10.html": // Warder
case "32153-09.html": // Warrior case "32153-09.html": // Warrior
@@ -185,7 +187,6 @@ public final class Q10331_StartOfFate extends Quest
if (qs.isCond(5)) if (qs.isCond(5))
{ {
takeItems(player, SARIL_NECKLACE, 1); takeItems(player, SARIL_NECKLACE, 1);
switch (player.getRace()) switch (player.getRace())
{ {
case HUMAN: case HUMAN:
@@ -234,7 +235,6 @@ public final class Q10331_StartOfFate extends Quest
{ {
final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", ""))); final ClassId newClassId = ClassId.getClassId(Integer.parseInt(event.replace("classChange;", "")));
final ClassId currentClassId = player.getClassId(); final ClassId currentClassId = player.getClassId();
if (!newClassId.childOf(currentClassId) || ((qs.getCond() < 6) && (qs.getCond() > 11))) if (!newClassId.childOf(currentClassId) || ((qs.getCond() < 6) && (qs.getCond() > 11)))
{ {
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to cheat the 1st class transfer!", Config.DEFAULT_PUNISH); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to cheat the 1st class transfer!", Config.DEFAULT_PUNISH);
@@ -243,66 +243,106 @@ public final class Q10331_StartOfFate extends Quest
switch (newClassId) switch (newClassId)
{ {
case WARRIOR: case WARRIOR:
{
htmltext = "32153-15.htm"; htmltext = "32153-15.htm";
break; break;
}
case KNIGHT: case KNIGHT:
{
htmltext = "32153-16.htm"; htmltext = "32153-16.htm";
break; break;
}
case ROGUE: case ROGUE:
{
htmltext = "32153-17.htm"; htmltext = "32153-17.htm";
break; break;
}
case WIZARD: case WIZARD:
{
htmltext = "32153-18.htm"; htmltext = "32153-18.htm";
break; break;
}
case CLERIC: case CLERIC:
{
htmltext = "32153-19.htm"; htmltext = "32153-19.htm";
break; break;
}
case ELVEN_KNIGHT: case ELVEN_KNIGHT:
{
htmltext = "32147-14.htm"; htmltext = "32147-14.htm";
break; break;
}
case ELVEN_SCOUT: case ELVEN_SCOUT:
{
htmltext = "32147-15.htm"; htmltext = "32147-15.htm";
break; break;
}
case ELVEN_WIZARD: case ELVEN_WIZARD:
{
htmltext = "32147-16.htm"; htmltext = "32147-16.htm";
break; break;
}
case ORACLE: case ORACLE:
{
htmltext = "32147-17.htm"; htmltext = "32147-17.htm";
break; break;
}
case PALUS_KNIGHT: case PALUS_KNIGHT:
{
htmltext = "32160-14.htm"; htmltext = "32160-14.htm";
break; break;
}
case ASSASSIN: case ASSASSIN:
{
htmltext = "32160-15.htm"; htmltext = "32160-15.htm";
break; break;
}
case DARK_WIZARD: case DARK_WIZARD:
{
htmltext = "32160-16.htm"; htmltext = "32160-16.htm";
break; break;
}
case SHILLIEN_ORACLE: case SHILLIEN_ORACLE:
{
htmltext = "32160-17.htm"; htmltext = "32160-17.htm";
break; break;
}
case ORC_RAIDER: case ORC_RAIDER:
{
htmltext = "32150-14.htm"; htmltext = "32150-14.htm";
break; break;
}
case ORC_MONK: case ORC_MONK:
{
htmltext = "32150-15.htm"; htmltext = "32150-15.htm";
break; break;
}
case ORC_SHAMAN: case ORC_SHAMAN:
{
htmltext = "32150-16.htm"; htmltext = "32150-16.htm";
break; break;
}
case SCAVENGER: case SCAVENGER:
{
htmltext = "32157-11.htm"; htmltext = "32157-11.htm";
break; break;
}
case ARTISAN: case ARTISAN:
{
htmltext = "32157-12.htm"; htmltext = "32157-12.htm";
break; break;
}
case TROOPER: case TROOPER:
{
htmltext = "32146-12.htm"; htmltext = "32146-12.htm";
break; break;
}
case WARDER: case WARDER:
{
htmltext = "32146-13.htm"; htmltext = "32146-13.htm";
break; break;
} }
}
player.setBaseClass(newClassId); player.setBaseClass(newClassId);
player.setClassId(newClassId.getId()); player.setClassId(newClassId.getId());
player.store(false); player.store(false);

View File

@@ -135,11 +135,15 @@ public final class Q10339_FightingTheForgotten extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "33344-01.html"; htmltext = "33344-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "33344-02.html"; htmltext = "33344-02.html";
break; break;
}
case 3: case 3:
{ {
st.exitQuest(false, true); st.exitQuest(false, true);

View File

@@ -177,30 +177,42 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case HUMAN: case HUMAN:
{
st.setCond(player.isMageClass() ? 4 : 5); st.setCond(player.isMageClass() ? 4 : 5);
htmltext = player.isMageClass() ? "33179-06.htm" : "33179-11.htm"; htmltext = player.isMageClass() ? "33179-06.htm" : "33179-11.htm";
break; break;
}
case DARK_ELF: case DARK_ELF:
{
st.setCond(6); st.setCond(6);
htmltext = "33179-05.htm"; htmltext = "33179-05.htm";
break; break;
}
case ORC: case ORC:
{
st.setCond(7); st.setCond(7);
htmltext = "33179-07.htm"; htmltext = "33179-07.htm";
break; break;
}
case DWARF: case DWARF:
{
st.setCond(8); st.setCond(8);
htmltext = "33179-08.htm"; htmltext = "33179-08.htm";
break; break;
}
case KAMAEL: case KAMAEL:
{
st.setCond(9); st.setCond(9);
htmltext = "33179-09.htm"; htmltext = "33179-09.htm";
break; break;
}
case ELF: case ELF:
{
st.setCond(player.isMageClass() ? 11 : 10); st.setCond(player.isMageClass() ? 11 : 10);
htmltext = player.isMageClass() ? "33179-12.htm" : "33179-10.htm"; htmltext = player.isMageClass() ? "33179-12.htm" : "33179-10.htm";
break; break;
} }
}
takeItems(player, FRAGMENT, 20); takeItems(player, FRAGMENT, 20);
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
break; break;
@@ -215,25 +227,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "30289-01.html"; htmltext = "30289-01.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30289-08.html" : "30289-02.html"; htmltext = player.isMageClass() ? "30289-08.html" : "30289-02.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30289-03.html"; htmltext = "30289-03.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30289-04.html"; htmltext = "30289-04.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30289-05.html"; htmltext = "30289-05.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30289-06.html" : "30289-07.html"; htmltext = player.isMageClass() ? "30289-06.html" : "30289-07.html";
break; break;
} }
} }
}
break; break;
} }
case RAINS: case RAINS:
@@ -243,25 +267,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "30288-01.html"; htmltext = "30288-01.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30288-02.html" : "30288-08.html"; htmltext = player.isMageClass() ? "30288-02.html" : "30288-08.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30288-03.html"; htmltext = "30288-03.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30288-04.html"; htmltext = "30288-04.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30288-05.html"; htmltext = "30288-05.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30288-06.html" : "30288-07.html"; htmltext = player.isMageClass() ? "30288-06.html" : "30288-07.html";
break; break;
} }
} }
}
break; break;
} }
case TOBIAS: case TOBIAS:
@@ -271,25 +307,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "30297-08.html"; htmltext = "30297-08.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30297-01.html" : "30297-02.html"; htmltext = player.isMageClass() ? "30297-01.html" : "30297-02.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30297-03.html"; htmltext = "30297-03.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30297-04.html"; htmltext = "30297-04.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30297-05.html"; htmltext = "30297-05.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30297-06.html" : "30297-07.html"; htmltext = player.isMageClass() ? "30297-06.html" : "30297-07.html";
break; break;
} }
} }
}
break; break;
} }
case DRIKUS: case DRIKUS:
@@ -299,25 +347,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "30505-01.html"; htmltext = "30505-01.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30505-02.html" : "30505-03.html"; htmltext = player.isMageClass() ? "30505-02.html" : "30505-03.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30505-08.html"; htmltext = "30505-08.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30505-04.html"; htmltext = "30505-04.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30505-05.html"; htmltext = "30505-05.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30505-06.html" : "30505-07.html"; htmltext = player.isMageClass() ? "30505-06.html" : "30505-07.html";
break; break;
} }
} }
}
break; break;
} }
case MENDIO: case MENDIO:
@@ -327,25 +387,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "30504-01.html"; htmltext = "30504-01.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30504-02.html" : "30504-03.html"; htmltext = player.isMageClass() ? "30504-02.html" : "30504-03.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30504-04.html"; htmltext = "30504-04.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30504-08.html"; htmltext = "30504-08.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30504-05.html"; htmltext = "30504-05.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30504-06.html" : "30504-07.html"; htmltext = player.isMageClass() ? "30504-06.html" : "30504-07.html";
break; break;
} }
} }
}
break; break;
} }
case GERSHWIN: case GERSHWIN:
@@ -355,25 +427,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "32196-01.html"; htmltext = "32196-01.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "32196-02.html" : "32196-03.html"; htmltext = player.isMageClass() ? "32196-02.html" : "32196-03.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "32196-04.html"; htmltext = "32196-04.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "32196-05.html"; htmltext = "32196-05.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "32196-08.html"; htmltext = "32196-08.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "32196-06.html" : "32196-07.html"; htmltext = player.isMageClass() ? "32196-06.html" : "32196-07.html";
break; break;
} }
} }
}
break; break;
} }
case ESRANDELL: case ESRANDELL:
@@ -383,25 +467,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "30158-01.html"; htmltext = "30158-01.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30158-02.html" : "30158-03.html"; htmltext = player.isMageClass() ? "30158-02.html" : "30158-03.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30158-04.html"; htmltext = "30158-04.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30158-05.html"; htmltext = "30158-05.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30158-06.html"; htmltext = "30158-06.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30158-08.html" : "30158-07.html"; htmltext = player.isMageClass() ? "30158-08.html" : "30158-07.html";
break; break;
} }
} }
}
break; break;
} }
case ELLENIA: case ELLENIA:
@@ -411,25 +507,37 @@ public final class Q10359_TracesOfEvil extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case DARK_ELF: case DARK_ELF:
{
htmltext = "30155-01.html"; htmltext = "30155-01.html";
break; break;
}
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30155-02.html" : "30155-03.html"; htmltext = player.isMageClass() ? "30155-02.html" : "30155-03.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30155-04.html"; htmltext = "30155-04.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30155-05.html"; htmltext = "30155-05.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30155-06.html"; htmltext = "30155-06.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30155-07.html" : "30155-08.html"; htmltext = player.isMageClass() ? "30155-07.html" : "30155-08.html";
break; break;
} }
} }
}
break; break;
} }
} }

View File

@@ -169,30 +169,42 @@ public final class Q10360_CertificationOfFate extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case HUMAN: case HUMAN:
{
st.setCond(player.isMageClass() ? 9 : 8); st.setCond(player.isMageClass() ? 9 : 8);
htmltext = player.isMageClass() ? "33518-06.htm" : "33518-07.htm"; htmltext = player.isMageClass() ? "33518-06.htm" : "33518-07.htm";
break; break;
}
case DARK_ELF: case DARK_ELF:
{
st.setCond(12); st.setCond(12);
htmltext = "33518-08.htm"; htmltext = "33518-08.htm";
break; break;
}
case ORC: case ORC:
{
st.setCond(13); st.setCond(13);
htmltext = "33518-09.htm"; htmltext = "33518-09.htm";
break; break;
}
case DWARF: case DWARF:
{
st.setCond(14); st.setCond(14);
htmltext = "33518-10.htm"; htmltext = "33518-10.htm";
break; break;
}
case KAMAEL: case KAMAEL:
{
st.setCond(15); st.setCond(15);
htmltext = "33518-11.htm"; htmltext = "33518-11.htm";
break; break;
}
case ELF: case ELF:
{
st.setCond(player.isMageClass() ? 11 : 10); st.setCond(player.isMageClass() ? 11 : 10);
htmltext = player.isMageClass() ? "33518-12.htm" : "33518-13.htm"; htmltext = player.isMageClass() ? "33518-12.htm" : "33518-13.htm";
break; break;
} }
}
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE); playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
break; break;
} }

View File

@@ -291,21 +291,32 @@ public final class Q10369_NoblesseSoulTesting extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "31281-03.html"; htmltext = "31281-03.html";
break; break;
}
case 2: case 2:
{
htmltext = "31281-06.html"; htmltext = "31281-06.html";
break; break;
}
case 3: case 3:
{
htmltext = "31281-07.html"; htmltext = "31281-07.html";
break; break;
}
case 4: case 4:
{
htmltext = "31281-08.html"; htmltext = "31281-08.html";
break; break;
}
case 5: case 5:
{
htmltext = "31281-10.html"; htmltext = "31281-10.html";
break; break;
}
case 14: case 14:
{
final Quest instance = QuestManager.getInstance().getQuest(EvasHiddenSpace.class.getSimpleName()); final Quest instance = QuestManager.getInstance().getQuest(EvasHiddenSpace.class.getSimpleName());
if (instance != null) if (instance != null)
{ {
@@ -313,10 +324,13 @@ public final class Q10369_NoblesseSoulTesting extends Quest
} }
htmltext = null; htmltext = null;
break; break;
}
case 17: case 17:
{
htmltext = "31281-11.html"; htmltext = "31281-11.html";
break; break;
} }
}
break; break;
} }
case EVAS_AVATAR: case EVAS_AVATAR:
@@ -324,18 +338,27 @@ public final class Q10369_NoblesseSoulTesting extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 5: case 5:
{
htmltext = "33686-01.html"; htmltext = "33686-01.html";
break; break;
}
case 6: case 6:
{
htmltext = "33686-04.html"; htmltext = "33686-04.html";
break; break;
}
case 15: case 15:
{
htmltext = "33686-05.html"; htmltext = "33686-05.html";
break; break;
}
case 16: case 16:
{
htmltext = "33686-06.html"; htmltext = "33686-06.html";
break; break;
}
case 18: case 18:
{
player.doCast(NOBLESSE_PRESENTATION.getSkill()); player.doCast(NOBLESSE_PRESENTATION.getSkill());
showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000); showOnScreenMsg(player, NpcStringId.CONGRATULATIONS_YOU_ARE_NOW_A_NOBLESSE, ExShowScreenMessage.TOP_CENTER, 5000);
player.setNoble(true); player.setNoble(true);
@@ -349,6 +372,7 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "33686-07.html"; htmltext = "33686-07.html";
break; break;
} }
}
break; break;
} }
case LANYA: case LANYA:
@@ -356,24 +380,37 @@ public final class Q10369_NoblesseSoulTesting extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 7: case 7:
{
htmltext = "33696-02.html"; htmltext = "33696-02.html";
break; break;
}
case 8: case 8:
{
htmltext = "33696-04.html"; htmltext = "33696-04.html";
break; break;
}
case 9: case 9:
{
htmltext = "33696-05.html"; htmltext = "33696-05.html";
break; break;
}
case 10: case 10:
{
htmltext = "33696-07.html"; htmltext = "33696-07.html";
break; break;
}
case 11: case 11:
{
htmltext = "33696-08.html"; htmltext = "33696-08.html";
break; break;
}
case 12: case 12:
{
htmltext = "33696-10.html"; htmltext = "33696-10.html";
break; break;
}
case 13: case 13:
{
qs.setCond(14, true); qs.setCond(14, true);
takeItems(player, HARD_FOSSIL_CONTAINING_WATER_ENERGY, -1); takeItems(player, HARD_FOSSIL_CONTAINING_WATER_ENERGY, -1);
giveItems(player, SACK_CONTAINING_INGREDIENTS, 1); giveItems(player, SACK_CONTAINING_INGREDIENTS, 1);
@@ -381,6 +418,7 @@ public final class Q10369_NoblesseSoulTesting extends Quest
htmltext = "33696-11.html"; htmltext = "33696-11.html";
break; break;
} }
}
break; break;
} }
} }

View File

@@ -473,18 +473,26 @@ public final class Q10385_RedThreadOfFate extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 2: case 2:
{
htmltext = "33783-01.html"; htmltext = "33783-01.html";
break; break;
}
case 3: case 3:
{
htmltext = "33783-03.html"; htmltext = "33783-03.html";
break; break;
}
case 4: case 4:
{
htmltext = "33783-04.html"; htmltext = "33783-04.html";
break; break;
}
case 5: case 5:
{
htmltext = "33783-04.html"; htmltext = "33783-04.html";
break; break;
} }
}
break; break;
} }
case HEINE_WATER_SOURCE: case HEINE_WATER_SOURCE:
@@ -552,18 +560,26 @@ public final class Q10385_RedThreadOfFate extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 10: case 10:
{
htmltext = "31539-01.html"; htmltext = "31539-01.html";
break; break;
}
case 11: case 11:
{
htmltext = "31539-05.html"; htmltext = "31539-05.html";
break; break;
}
case 13: case 13:
{
htmltext = "31539-06.html"; htmltext = "31539-06.html";
break; break;
}
case 14: case 14:
{
htmltext = "31539-10.html"; htmltext = "31539-10.html";
break; break;
} }
}
break; break;
} }
case MIXING_URN: case MIXING_URN:

View File

@@ -143,11 +143,15 @@ public final class Q10386_MysteriousJourney extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "33780-01.html"; htmltext = "33780-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "33780-05.html"; htmltext = "33780-05.html";
break; break;
}
case 4: case 4:
{ {
giveAdena(player, 58_707, true); giveAdena(player, 58_707, true);

View File

@@ -166,16 +166,22 @@ public final class Q10387_SoullessOne extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = "33796-01.htm"; htmltext = "33796-01.htm";
break; break;
}
case 2: case 2:
{
htmltext = "33796-06.html"; htmltext = "33796-06.html";
break; break;
}
case 3: case 3:
{
htmltext = "33796-07.html"; htmltext = "33796-07.html";
break; break;
} }
} }
}
break; break;
} }
case State.COMPLETED: case State.COMPLETED:

View File

@@ -224,24 +224,36 @@ public final class Q10390_KekropusLetter extends Quest
switch (player.getRace()) switch (player.getRace())
{ {
case HUMAN: case HUMAN:
{
htmltext = player.isMageClass() ? "30332-01.html" : "30332-02.html"; htmltext = player.isMageClass() ? "30332-01.html" : "30332-02.html";
break; break;
}
case DARK_ELF: case DARK_ELF:
{
htmltext = "30332-03.html"; htmltext = "30332-03.html";
break; break;
}
case ORC: case ORC:
{
htmltext = "30332-04.html"; htmltext = "30332-04.html";
break; break;
}
case DWARF: case DWARF:
{
htmltext = "30332-05.html"; htmltext = "30332-05.html";
break; break;
}
case KAMAEL: case KAMAEL:
{
htmltext = "30332-06.html"; htmltext = "30332-06.html";
break; break;
}
case ELF: case ELF:
{
htmltext = player.isMageClass() ? "30332-08.html" : "30332-07.html"; htmltext = player.isMageClass() ? "30332-08.html" : "30332-07.html";
break; break;
} }
}
break; break;
} }
case 2: case 2:

View File

@@ -122,16 +122,22 @@ public final class Q10417_DaimonTheWhiteEyed extends Quest
switch (st.getCond()) switch (st.getCond())
{ {
case 1: case 1:
{
htmltext = npc.getId() == EYE_OF_ARGOS ? "31683-05.html" : "33851-01.html"; htmltext = npc.getId() == EYE_OF_ARGOS ? "31683-05.html" : "33851-01.html";
break; break;
}
case 2: case 2:
{
htmltext = npc.getId() == EYE_OF_ARGOS ? "31683-06.html" : "33851-01.html"; htmltext = npc.getId() == EYE_OF_ARGOS ? "31683-06.html" : "33851-01.html";
break; break;
}
case 3: case 3:
{
htmltext = npc.getId() == EYE_OF_ARGOS ? "31683-07.html" : "33851-02.html"; htmltext = npc.getId() == EYE_OF_ARGOS ? "31683-07.html" : "33851-02.html";
break; break;
} }
} }
}
return htmltext; return htmltext;
} }

View File

@@ -125,7 +125,9 @@ public final class Q10472_WindsOfFateEncroachingShadows extends Quest
case "33491-02.html": case "33491-02.html":
case "33491-03.html": case "33491-03.html":
case "33491-04.html": case "33491-04.html":
{
break; break;
}
case "33931-05.htm": // Navari case "33931-05.htm": // Navari
{ {
qs.startQuest(); qs.startQuest();
@@ -246,37 +248,55 @@ public final class Q10472_WindsOfFateEncroachingShadows extends Quest
switch (event.split("-")[1]) switch (event.split("-")[1])
{ {
case "fire": case "fire":
{
giveItems(player, FIRE_STONE); giveItems(player, FIRE_STONE);
break; break;
}
case "water": case "water":
{
giveItems(player, WATER_STONE); giveItems(player, WATER_STONE);
break; break;
}
case "earth": case "earth":
{
giveItems(player, EARTH_STONE); giveItems(player, EARTH_STONE);
break; break;
}
case "wind": case "wind":
{
giveItems(player, WIND_STONE); giveItems(player, WIND_STONE);
break; break;
}
case "dark": case "dark":
{
giveItems(player, DARK_STONE); giveItems(player, DARK_STONE);
break; break;
}
case "holy": case "holy":
{
giveItems(player, HOLY_STONE); giveItems(player, HOLY_STONE);
break; break;
} }
}
// Give soul crystal // Give soul crystal
switch (qs.get("SoulCrystal")) switch (qs.get("SoulCrystal"))
{ {
case "red": case "red":
{
giveItems(player, RED_SOUL_CRYSTAL_15); giveItems(player, RED_SOUL_CRYSTAL_15);
break; break;
}
case "blue": case "blue":
{
giveItems(player, BLUE_SOUL_CRYSTAL_15); giveItems(player, BLUE_SOUL_CRYSTAL_15);
break; break;
}
case "green": case "green":
{
giveItems(player, GREEN_SOUL_CRYSTAL_15); giveItems(player, GREEN_SOUL_CRYSTAL_15);
break; break;
} }
}
giveItems(player, CRYSTAL_R); giveItems(player, CRYSTAL_R);
giveItems(player, RECIPE_TWILIGHT_NECKLACE); giveItems(player, RECIPE_TWILIGHT_NECKLACE);
addExpAndSp(player, 175739575, 42177); addExpAndSp(player, 175739575, 42177);
@@ -286,8 +306,10 @@ public final class Q10472_WindsOfFateEncroachingShadows extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -302,37 +324,51 @@ public final class Q10472_WindsOfFateEncroachingShadows extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33931-01.htm"; htmltext = "33931-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
if (qs.isCond(1)) if (qs.isCond(1))
{ {
htmltext = "33931-06.html"; htmltext = "33931-06.html";
} }
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
} }
}
else if ((npc.getId() == ZEPHYRA) && qs.isStarted()) else if ((npc.getId() == ZEPHYRA) && qs.isStarted())
{ {
switch (qs.getCond()) switch (qs.getCond())
{ {
case 1: case 1:
{
htmltext = "33978-01.html"; htmltext = "33978-01.html";
break; break;
}
case 2: case 2:
{
htmltext = "33978-04.html"; htmltext = "33978-04.html";
break; break;
}
case 17: case 17:
{
htmltext = "33978-05.html"; htmltext = "33978-05.html";
break; break;
}
case 18: case 18:
{
htmltext = "33978-08.html"; htmltext = "33978-08.html";
break; break;
} }
} }
}
else if ((npc.getId() == MOMET) && qs.isStarted()) else if ((npc.getId() == MOMET) && qs.isStarted())
{ {
if (qs.isCond(2)) if (qs.isCond(2))
@@ -349,19 +385,27 @@ public final class Q10472_WindsOfFateEncroachingShadows extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 3: case 3:
{
htmltext = "31092-01.html"; htmltext = "31092-01.html";
break; break;
}
case 4: case 4:
{
htmltext = "31092-04.html"; htmltext = "31092-04.html";
break; break;
}
case 5: case 5:
{
htmltext = (qs.isMemoState(1)) ? "31092-06.html" : "31092-05.html"; htmltext = (qs.isMemoState(1)) ? "31092-06.html" : "31092-05.html";
break; break;
}
case 6: case 6:
{
htmltext = "31092-08.html"; htmltext = "31092-08.html";
break; break;
} }
} }
}
else if ((npc.getId() == BLACKSMITH_OF_MAMMON) && qs.isStarted()) else if ((npc.getId() == BLACKSMITH_OF_MAMMON) && qs.isStarted())
{ {
if (qs.isCond(6)) if (qs.isCond(6))
@@ -378,20 +422,28 @@ public final class Q10472_WindsOfFateEncroachingShadows extends Quest
switch (qs.getCond()) switch (qs.getCond())
{ {
case 7: case 7:
{
htmltext = "33870-01.html"; htmltext = "33870-01.html";
break; break;
}
case 8: case 8:
{
htmltext = "33870-06.html"; htmltext = "33870-06.html";
break; break;
}
// TODO: Unknown html for cond 9 - 15 // TODO: Unknown html for cond 9 - 15
case 16: case 16:
{
htmltext = "33870-07.html"; htmltext = "33870-07.html";
break; break;
}
case 17: case 17:
{
htmltext = "33870-10.html"; htmltext = "33870-10.html";
break; break;
} }
} }
}
else if ((npc.getId() == KARLA) && qs.isStarted()) else if ((npc.getId() == KARLA) && qs.isStarted())
{ {
if (qs.isCond(18)) if (qs.isCond(18))

View File

@@ -171,10 +171,12 @@ public final class Q10734_DoOrDie extends Quest
break; break;
} }
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
} }
}
break; break;
} }
case AYANTHE: case AYANTHE:

View File

@@ -121,8 +121,10 @@ public final class Q10740_NeverForget extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33951-01.htm"; htmltext = "33951-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{ {
switch (qs.getCond()) switch (qs.getCond())

View File

@@ -295,9 +295,11 @@ public final class Q10751_WindsOfFateEncounters extends Quest
break; break;
} }
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
break; break;
} }
case KATALIN: case KATALIN:

View File

@@ -69,7 +69,9 @@ public final class Q10755_LettersFromTheQueenWindyHill extends LetterQuest
{ {
case "30037-02.html": case "30037-02.html":
case "33963-02.html": case "33963-02.html":
{
break; break;
}
case "30037-03.html": case "30037-03.html":
{ {
if (qs.isCond(1)) if (qs.isCond(1))
@@ -92,8 +94,10 @@ public final class Q10755_LettersFromTheQueenWindyHill extends LetterQuest
break; break;
} }
default: default:
{
htmltext = event; htmltext = event;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -77,7 +77,9 @@ public final class Q10756_AnInterdimensionalDraft extends Quest
case "33963-02.htm": case "33963-02.htm":
case "33963-03.htm": case "33963-03.htm":
case "33963-04.htm": case "33963-04.htm":
{
break; break;
}
case "33963-05.htm": case "33963-05.htm":
{ {
qs.startQuest(); qs.startQuest();
@@ -94,8 +96,10 @@ public final class Q10756_AnInterdimensionalDraft extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -108,15 +112,21 @@ public final class Q10756_AnInterdimensionalDraft extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33963-01.htm"; htmltext = "33963-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "33963-06.html" : "33963-07.html"; htmltext = (qs.isCond(1)) ? "33963-06.html" : "33963-07.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -75,7 +75,9 @@ public final class Q10757_QuietingTheStorm extends Quest
case "33963-02.htm": case "33963-02.htm":
case "33963-03.htm": case "33963-03.htm":
case "33963-04.htm": case "33963-04.htm":
{
break; break;
}
case "33963-05.htm": case "33963-05.htm":
{ {
qs.startQuest(); qs.startQuest();
@@ -92,8 +94,10 @@ public final class Q10757_QuietingTheStorm extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -106,15 +110,21 @@ public final class Q10757_QuietingTheStorm extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33963-01.htm"; htmltext = "33963-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "33963-06.html" : "33963-07.html"; htmltext = (qs.isCond(1)) ? "33963-06.html" : "33963-07.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -67,7 +67,9 @@ public final class Q10758_TheOathOfTheWind extends Quest
{ {
case "33963-01.htm": case "33963-01.htm":
case "33963-02.htm": case "33963-02.htm":
{
break; break;
}
case "33963-03.htm": case "33963-03.htm":
{ {
qs.startQuest(); qs.startQuest();
@@ -94,8 +96,10 @@ public final class Q10758_TheOathOfTheWind extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -108,15 +112,21 @@ public final class Q10758_TheOathOfTheWind extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33963-01.htm"; htmltext = "33963-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "33963-04.html" : "33963-05.html"; htmltext = (qs.isCond(1)) ? "33963-04.html" : "33963-05.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -69,7 +69,9 @@ public class Q10760_LettersFromTheQueenOrcBarracks extends LetterQuest
{ {
case "30037-02.html": case "30037-02.html":
case "30597-02.html": case "30597-02.html":
{
break; break;
}
case "30037-03.html": case "30037-03.html":
{ {
if (qs.isCond(1)) if (qs.isCond(1))
@@ -92,8 +94,10 @@ public class Q10760_LettersFromTheQueenOrcBarracks extends LetterQuest
break; break;
} }
default: default:
{
htmltext = event; htmltext = event;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -79,7 +79,9 @@ public class Q10761_AnOrcInLove extends Quest
case "33966-02.htm": case "33966-02.htm":
case "33966-03.htm": case "33966-03.htm":
case "33966-04.htm": case "33966-04.htm":
{
break; break;
}
case "33966-05.htm": case "33966-05.htm":
{ {
qs.startQuest(); qs.startQuest();
@@ -96,8 +98,10 @@ public class Q10761_AnOrcInLove extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -110,15 +114,21 @@ public class Q10761_AnOrcInLove extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33966-01.htm"; htmltext = "33966-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "33966-06.html" : "33966-07.html"; htmltext = (qs.isCond(1)) ? "33966-06.html" : "33966-07.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -67,7 +67,9 @@ public final class Q10762_MarionetteSpirit extends Quest
switch (event) switch (event)
{ {
case "33966-02.htm": case "33966-02.htm":
{
break; break;
}
case "33966-03.htm": case "33966-03.htm":
{ {
qs.startQuest(); qs.startQuest();
@@ -84,8 +86,10 @@ public final class Q10762_MarionetteSpirit extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -98,15 +102,21 @@ public final class Q10762_MarionetteSpirit extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33966-01.htm"; htmltext = "33966-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "33966-04.html" : "33966-05.html"; htmltext = (qs.isCond(1)) ? "33966-04.html" : "33966-05.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -67,7 +67,9 @@ public final class Q10763_TerrifyingChertuba extends Quest
switch (event) switch (event)
{ {
case "33966-02.htm": case "33966-02.htm":
{
break; break;
}
case "33966-03.htm": case "33966-03.htm":
{ {
qs.startQuest(); qs.startQuest();
@@ -84,8 +86,10 @@ public final class Q10763_TerrifyingChertuba extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -98,15 +102,21 @@ public final class Q10763_TerrifyingChertuba extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33966-01.htm"; htmltext = "33966-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "33966-04.html" : "33966-05.html"; htmltext = (qs.isCond(1)) ? "33966-04.html" : "33966-05.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
}
return htmltext; return htmltext;
} }

View File

@@ -75,7 +75,9 @@ public final class Q10764_FreeSpirit extends Quest
switch (event) switch (event)
{ {
case "33966-02.htm": case "33966-02.htm":
{
break; break;
}
case "33966-03.htm": case "33966-03.htm":
{ {
qs.startQuest(); qs.startQuest();
@@ -94,8 +96,10 @@ public final class Q10764_FreeSpirit extends Quest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }
@@ -110,16 +114,22 @@ public final class Q10764_FreeSpirit extends Quest
switch (qs.getState()) switch (qs.getState())
{ {
case State.CREATED: case State.CREATED:
{
htmltext = "33966-01.htm"; htmltext = "33966-01.htm";
break; break;
}
case State.STARTED: case State.STARTED:
{
htmltext = (qs.isCond(1)) ? "33966-04.html" : "33966-05.html"; htmltext = (qs.isCond(1)) ? "33966-04.html" : "33966-05.html";
break; break;
}
case State.COMPLETED: case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player); htmltext = getAlreadyCompletedMsg(player);
break; break;
} }
} }
}
else if (qs.isStarted() && qs.isCond(1)) else if (qs.isStarted() && qs.isCond(1))
{ {
final int npcId = (npc.getId() == WIND_SPIRIT) ? LIBERATED_WIND_SPIRIT : LIBERATED_TREE_SPIRIT; final int npcId = (npc.getId() == WIND_SPIRIT) ? LIBERATED_WIND_SPIRIT : LIBERATED_TREE_SPIRIT;

View File

@@ -71,7 +71,9 @@ public final class Q10769_LettersFromTheQueenCrumaTowerPart1 extends LetterQuest
{ {
case "30070-02.html": case "30070-02.html":
case "30673-02.html": case "30673-02.html":
{
break; break;
}
case "30070-03.html": case "30070-03.html":
{ {
if (qs.isCond(1)) if (qs.isCond(1))
@@ -96,8 +98,10 @@ public final class Q10769_LettersFromTheQueenCrumaTowerPart1 extends LetterQuest
break; break;
} }
default: default:
{
htmltext = null; htmltext = null;
} }
}
return htmltext; return htmltext;
} }

Some files were not shown because too many files have changed in this diff Show More