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,17 +256,25 @@ public final class BeastFarm extends AbstractNpcAI
switch (nextNpcId)
{
case 18869:
{
name = name.replace("%name%", "Alpine Kookaburra");
break;
}
case 18870:
{
name = name.replace("%name%", "Alpine Cougar");
break;
}
case 18871:
{
name = name.replace("%name%", "Alpine Buffalo");
break;
}
case 18872:
{
name = name.replace("%name%", "Alpine Grendel");
break;
}
}
nextNpc.setName(name);
nextNpc.broadcastPacket(new NpcInfo(nextNpc));

View File

@ -87,35 +87,47 @@ public final class LargeCocoon extends AbstractNpcAI
switch (getRandom(6))
{
case 0:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player);
break;
}
case 1:
{
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER_HARD, npc, false, 90000), player);
break;
}
case 2:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player);
break;
}
case 3:
{
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE_HARD, npc, false, 90000), player);
break;
}
case 4:
{
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER_HARD, npc, false, 90000), player);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH_HARD, npc, false, 90000), player);
break;
}
case 5:
{
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);
break;
}
}
}
npc.deleteMe();
@ -136,85 +148,121 @@ public final class LargeCocoon extends AbstractNpcAI
switch (getRandom(6))
{
case 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);
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_WARRIOR, 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_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);
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))
{
case 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);
break;
}
case 1:
{
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);
break;
}
case 2:
{
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);
break;
}
case 3:
{
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);
break;
}
case 4:
{
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);
break;
}
case 5:
{
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);
break;
}
}
return super.onSpawn(npc);
@ -241,35 +289,47 @@ public final class LargeCocoon extends AbstractNpcAI
switch (getRandom(6))
{
case 0:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable);
break;
}
case 1:
{
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER, npc, false, 90000), playable);
break;
}
case 2:
{
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
break;
}
case 3:
{
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WARRIOR, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_ROGUE, npc, false, 90000), playable);
break;
}
case 4:
{
addAttackPlayerDesire(addSpawn(FAIRY_WIZARD, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_SUMMONER, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
break;
}
case 5:
{
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_KNIGHT, npc, false, 90000), playable);
addAttackPlayerDesire(addSpawn(FAIRY_WITCH, npc, false, 90000), playable);
break;
}
}
}
npc.deleteMe();

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -52,15 +52,19 @@ public final class QueenShyeed extends AbstractNpcAI
switch (event)
{
case "respawn":
{
spawnShyeed();
break;
}
case "despawn":
{
if (!npc.isDead())
{
npc.deleteMe();
startRespawn();
}
break;
}
}
return null;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -375,14 +375,20 @@ public class AdminSpawn implements IAdminCommandHandler
{
default:
case 0:
{
_log.info("('',1," + i + "," + x + "," + y + "," + z + ",0,0," + h + ",60,0,0),");
break;
}
case 1:
{
_log.info("<spawn npcId=\"" + i + "\" x=\"" + x + "\" y=\"" + y + "\" z=\"" + z + "\" heading=\"" + h + "\" respawn=\"0\" />");
break;
}
case 2:
{
_log.info("{ " + i + ", " + x + ", " + y + ", " + z + ", " + h + " },");
break;
}
}
}

View File

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

View File

@ -44,11 +44,15 @@ public class Augment implements IBypassHandler
switch (Integer.parseInt(command.substring(8, 9).trim()))
{
case 1:
{
activeChar.sendPacket(ExShowVariationMakeWindow.STATIC_PACKET);
return true;
}
case 2:
{
activeChar.sendPacket(ExShowVariationCancelWindow.STATIC_PACKET);
return true;
}
}
}
catch (Exception e)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -130,8 +130,10 @@ public final class DarkCloudMansion extends AbstractInstance
switch (event)
{
case "DELETE_ONE":
{
npc.deleteMe();
break;
}
case "DELETE":
{
world.getNpcs(BELETH_SAMPLE).stream().filter(n -> n != npc).forEach(L2Npc::deleteMe);
@ -140,8 +142,10 @@ public final class DarkCloudMansion extends AbstractInstance
break;
}
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)]));
break;
}
}
}
return null;

View File

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

View File

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

View File

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

View File

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

View File

@ -649,6 +649,7 @@ public final class KartiasLabyrinth extends AbstractInstance
switch (stage)
{
case 1:
{
switch (wave)
{
case 1:
@ -676,7 +677,9 @@ public final class KartiasLabyrinth extends AbstractInstance
}
}
break;
}
case 2:
{
switch (wave)
{
case 1:
@ -704,7 +707,9 @@ public final class KartiasLabyrinth extends AbstractInstance
}
}
break;
}
case 3:
{
switch (wave)
{
case 1:
@ -763,7 +768,9 @@ public final class KartiasLabyrinth extends AbstractInstance
}
}
break;
}
case 4:
{
switch (wave)
{
case 1:
@ -791,7 +798,9 @@ public final class KartiasLabyrinth extends AbstractInstance
}
}
break;
}
case 5:
{
switch (wave)
{
case 1:
@ -826,6 +835,7 @@ public final class KartiasLabyrinth extends AbstractInstance
}
}
break;
}
}
}
else if (room == 2)

View File

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

View File

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

View File

@ -125,20 +125,30 @@ public final class SSQDisciplesNecropolisPast extends AbstractInstance
switch (count)
{
case 4:
{
world.openCloseDoor(DOOR_1, true);
break;
}
case 10:
{
world.openCloseDoor(DOOR_2, true);
break;
}
case 18:
{
world.openCloseDoor(DOOR_3, true);
break;
}
case 28:
{
world.openCloseDoor(DOOR_4, true);
break;
}
case 40:
{
world.openCloseDoor(DOOR_5, true);
break;
}
}
}

View File

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

View File

@ -56,21 +56,27 @@ public class Q00015_SweetWhispers extends Quest
switch (event)
{
case "31302-01.html":
{
st.startQuest();
break;
}
case "31518-01.html":
{
if (st.isCond(1))
{
st.setCond(2);
}
break;
}
case "31517-01.html":
{
if (st.isCond(2))
{
addExpAndSp(player, 714215, 171);
st.exitQuest(false, true);
}
break;
}
}
return htmltext;
}
@ -85,42 +91,58 @@ public class Q00015_SweetWhispers extends Quest
switch (st.getState())
{
case State.CREATED:
{
if (npcId == VLADIMIR)
{
htmltext = "31302-00.htm";
}
break;
}
case State.STARTED:
{
switch (npcId)
{
case VLADIMIR:
{
if (st.isCond(1))
{
htmltext = "31302-01a.html";
}
break;
}
case M_NECROMANCER:
{
switch (st.getCond())
{
case 1:
{
htmltext = "31518-00.html";
break;
}
case 2:
{
htmltext = "31518-01a.html";
break;
}
}
break;
}
case HIERARCH:
{
if (st.isCond(2))
{
htmltext = "31517-00.html";
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -87,40 +87,55 @@ public class Q00125_TheNameOfEvil1 extends Quest
switch (event)
{
case "32114-05.html":
{
qs.startQuest();
break;
}
case "32114-08.html":
{
if (qs.isCond(1))
{
giveItems(player, GAZKH_FRAGMENT, 1);
qs.setCond(2, true);
}
break;
}
case "32117-09.html":
{
if (qs.isCond(2))
{
qs.setCond(3, true);
}
break;
}
case "32117-15.html":
{
if (qs.isCond(4))
{
qs.setCond(5, true);
}
break;
}
case "T_One":
{
qs.set("T", "1");
htmltext = "32119-04.html";
break;
}
case "E_One":
{
qs.set("E", "1");
htmltext = "32119-05.html";
break;
}
case "P_One":
{
qs.set("P", "1");
htmltext = "32119-06.html";
break;
}
case "U_One":
{
qs.set("U", "1");
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("U");
break;
}
case "32119-07.html":
{
qs.unset("T");
qs.unset("E");
qs.unset("P");
qs.unset("U");
break;
}
case "32119-18.html":
{
if (qs.isCond(5))
{
qs.setCond(6, true);
qs.unset("Memo");
}
break;
}
case "T_Two":
{
qs.set("T", "1");
htmltext = "32120-04.html";
break;
}
case "O_Two":
{
qs.set("O", "1");
htmltext = "32120-05.html";
break;
}
case "O2_Two":
{
qs.set("O2", "1");
htmltext = "32120-06.html";
break;
}
case "N_Two":
{
qs.set("N", "1");
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("N");
break;
}
case "32120-07.html":
{
qs.unset("T");
qs.unset("O");
qs.unset("O2");
qs.unset("N");
}
case "32120-17.html":
{
if (qs.isCond(6))
{
qs.setCond(7, true);
qs.unset("Memo");
}
break;
}
case "W_Three":
{
qs.set("W", "1");
htmltext = "32121-04.html";
break;
}
case "A_Three":
{
qs.set("A", "1");
htmltext = "32121-05.html";
break;
}
case "G_Three":
{
qs.set("G", "1");
htmltext = "32121-06.html";
break;
}
case "U_Three":
{
qs.set("U", "1");
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("U");
break;
}
case "32121-07.html":
{
qs.unset("W");
qs.unset("A");
qs.unset("G");
qs.unset("U");
break;
}
case "32121-11.html":
{
qs.set("Memo", "2");
break;
}
case "32121-16.html":
{
qs.set("Memo", "3");
break;
}
case "32121-18.html":
{
if (qs.isCond(7) && hasQuestItems(player, GAZKH_FRAGMENT))
{
giveItems(player, EPITAPH_OF_WISDOM, 1);
@ -238,6 +285,7 @@ public class Q00125_TheNameOfEvil1 extends Quest
qs.unset("Memo");
}
break;
}
}
return htmltext;
}
@ -283,9 +331,11 @@ public class Q00125_TheNameOfEvil1 extends Quest
switch (npc.getId())
{
case MUSHIKA:
{
switch (qs.getState())
{
case State.CREATED:
{
if (player.getLevel() < 76)
{
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";
}
break;
}
case State.STARTED:
{
switch (qs.getCond())
{
case 1:
{
htmltext = "32114-09.html";
break;
}
case 2:
{
htmltext = "32114-10.html";
break;
}
case 3:
case 4:
case 5:
case 6:
case 7:
{
htmltext = "32114-11.html";
break;
}
case 8:
{
if (hasQuestItems(player, EPITAPH_OF_WISDOM))
{
htmltext = "32114-12.html";
@ -320,28 +379,41 @@ public class Q00125_TheNameOfEvil1 extends Quest
qs.exitQuest(false, true);
}
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
break;
}
case KARAKAWEI:
{
if (qs.isStarted())
{
switch (qs.getCond())
{
case 1:
{
htmltext = "32117-01.html";
break;
}
case 2:
{
htmltext = "32117-02.html";
break;
}
case 3:
{
htmltext = "32117-10.html";
break;
}
case 4:
{
if ((getQuestItemsCount(player, ORNITHOMIMUS_CLAW) >= 2) && (getQuestItemsCount(player, DEINONYCHUS_BONE) >= 2))
{
takeItems(player, ORNITHOMIMUS_CLAW, -1);
@ -349,20 +421,29 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32117-11.html";
}
break;
}
case 5:
{
htmltext = "32117-16.html";
break;
}
case 6:
case 7:
{
htmltext = "32117-17.html";
break;
}
case 8:
{
htmltext = "32117-18.html";
break;
}
}
}
break;
}
case ULU_KAIMU:
{
if (qs.isStarted())
{
switch (qs.getCond())
@ -371,9 +452,12 @@ public class Q00125_TheNameOfEvil1 extends Quest
case 2:
case 3:
case 4:
{
htmltext = "32119-01.html";
break;
}
case 5:
{
if (qs.get("Memo") == null)
{
htmltext = "32119-02.html";
@ -388,16 +472,23 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32119-09.html";
}
break;
}
case 6:
{
htmltext = "32119-18.html";
break;
}
default:
{
htmltext = "32119-19.html";
break;
}
}
}
break;
}
case BALU_KAIMU:
{
if (qs.isStarted())
{
switch (qs.getCond())
@ -407,9 +498,12 @@ public class Q00125_TheNameOfEvil1 extends Quest
case 3:
case 4:
case 5:
{
htmltext = "32120-01.html";
break;
}
case 6:
{
if (qs.get("Memo") == null)
{
htmltext = "32120-02.html";
@ -424,16 +518,23 @@ public class Q00125_TheNameOfEvil1 extends Quest
htmltext = "32120-09.html";
}
break;
}
case 7:
{
htmltext = "32120-17.html";
break;
}
default:
{
htmltext = "32119-18.html";
break;
}
}
}
break;
}
case CHUTA_KAIMU:
{
if (qs.isStarted())
{
switch (qs.getCond())
@ -444,12 +545,16 @@ public class Q00125_TheNameOfEvil1 extends Quest
case 4:
case 5:
case 6:
{
htmltext = "32121-01.html";
break;
}
case 7:
{
switch (qs.getInt("Memo"))
{
case 0:
{
htmltext = "32121-02.html";
npc.broadcastPacket(new MagicSkillUse(npc, player, 5089, 1, 1000, 0));
qs.unset("W");
@ -457,23 +562,34 @@ public class Q00125_TheNameOfEvil1 extends Quest
qs.unset("G");
qs.unset("U");
break;
}
case 1:
{
htmltext = "32121-09.html";
break;
}
case 2:
{
htmltext = "32121-19.html";
break;
}
case 3:
{
htmltext = "32121-20.html";
break;
}
}
break;
}
case 8:
{
htmltext = "32121-21.html";
break;
}
}
}
break;
}
}
return htmltext;
}

View File

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

View File

@ -84,21 +84,32 @@ public class Q00141_ShadowFoxPart3 extends Quest
case "30894-17.html":
case "30894-19.html":
case "30894-20.html":
{
break;
}
case "30894-03.htm":
{
st.startQuest();
break;
}
case "30894-06.html":
{
st.setCond(2, true);
break;
}
case "30894-15.html":
{
st.set("talk", "2");
break;
}
case "30894-18.html":
{
st.setCond(4, true);
st.unset("talk");
break;
}
case "30894-21.html":
{
giveAdena(player, 88888, true);
if (player.getLevel() <= MAX_REWARD_LEVEL)
{
@ -106,9 +117,12 @@ public class Q00141_ShadowFoxPart3 extends Quest
}
st.exitQuest(false, true);
break;
}
default:
{
htmltext = null;
break;
}
}
return htmltext;
}
@ -146,19 +160,27 @@ public class Q00141_ShadowFoxPart3 extends Quest
switch (st.getState())
{
case State.CREATED:
{
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";
break;
}
case State.STARTED:
{
switch (st.getCond())
{
case 1:
{
htmltext = "30894-04.html";
break;
}
case 2:
{
htmltext = "30894-07.html";
break;
}
case 3:
{
if (st.getInt("talk") == 1)
{
htmltext = "30894-09.html";
@ -174,14 +196,20 @@ public class Q00141_ShadowFoxPart3 extends Quest
st.set("talk", "1");
}
break;
}
case 4:
{
htmltext = "30894-19.html";
break;
}
}
break;
}
case State.COMPLETED:
{
htmltext = getAlreadyCompletedMsg(player);
break;
}
}
return htmltext;
}

View File

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

View File

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

View File

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

View File

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

View File

@ -336,17 +336,23 @@ public final class Q00421_LittleWingsBigAdventure extends Quest
switch (flute.getId())
{
case DRAGONFLUTE_OF_WIND:
{
takeItems(talker, DRAGONFLUTE_OF_WIND, -1);
giveItems(talker, DRAGON_BUGLE_OF_WIND, 1);
break;
}
case DRAGONFLUTE_OF_STAR:
{
takeItems(talker, DRAGONFLUTE_OF_STAR, -1);
giveItems(talker, DRAGON_BUGLE_OF_STAR, 1);
break;
}
case DRAGONFLUTE_OF_TWILIGHT:
{
takeItems(talker, DRAGONFLUTE_OF_TWILIGHT, -1);
giveItems(talker, DRAGON_BUGLE_OF_TWILIGHT, 1);
break;
}
}
qs.exitQuest(true, true);
@ -418,14 +424,20 @@ public final class Q00421_LittleWingsBigAdventure extends Quest
switch (getRandom(3))
{
case 0:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WHY_DO_YOU_BOTHER_ME_AGAIN);
break;
}
case 1:
{
npc.broadcastSay(ChatType.NPC_GENERAL, data.message);
break;
}
case 2:
{
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LEAVE_NOW_BEFORE_YOU_INCUR_THE_WRATH_OF_THE_GUARDIAN_GHOST);
break;
}
}
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -110,9 +110,11 @@ public final class Q10331_StartOfFate extends Quest
case "32160-08.html": // Dark Elven Mage
case "32150-07.html": // Orc Fighter
case "32150-08.html": // Orc Mage
{
/**
* 1st class transfer htmls for each class
*/
}
case "32146-09.html": // Trooper
case "32146-10.html": // Warder
case "32153-09.html": // Warrior
@ -185,7 +187,6 @@ public final class Q10331_StartOfFate extends Quest
if (qs.isCond(5))
{
takeItems(player, SARIL_NECKLACE, 1);
switch (player.getRace())
{
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 currentClassId = player.getClassId();
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);
@ -243,65 +243,105 @@ public final class Q10331_StartOfFate extends Quest
switch (newClassId)
{
case WARRIOR:
{
htmltext = "32153-15.htm";
break;
}
case KNIGHT:
{
htmltext = "32153-16.htm";
break;
}
case ROGUE:
{
htmltext = "32153-17.htm";
break;
}
case WIZARD:
{
htmltext = "32153-18.htm";
break;
}
case CLERIC:
{
htmltext = "32153-19.htm";
break;
}
case ELVEN_KNIGHT:
{
htmltext = "32147-14.htm";
break;
}
case ELVEN_SCOUT:
{
htmltext = "32147-15.htm";
break;
}
case ELVEN_WIZARD:
{
htmltext = "32147-16.htm";
break;
}
case ORACLE:
{
htmltext = "32147-17.htm";
break;
}
case PALUS_KNIGHT:
{
htmltext = "32160-14.htm";
break;
}
case ASSASSIN:
{
htmltext = "32160-15.htm";
break;
}
case DARK_WIZARD:
{
htmltext = "32160-16.htm";
break;
}
case SHILLIEN_ORACLE:
{
htmltext = "32160-17.htm";
break;
}
case ORC_RAIDER:
{
htmltext = "32150-14.htm";
break;
}
case ORC_MONK:
{
htmltext = "32150-15.htm";
break;
}
case ORC_SHAMAN:
{
htmltext = "32150-16.htm";
break;
}
case SCAVENGER:
{
htmltext = "32157-11.htm";
break;
}
case ARTISAN:
{
htmltext = "32157-12.htm";
break;
}
case TROOPER:
{
htmltext = "32146-12.htm";
break;
}
case WARDER:
{
htmltext = "32146-13.htm";
break;
}
}
player.setBaseClass(newClassId);
player.setClassId(newClassId.getId());

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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