Updated NpcStringId class.
This commit is contained in:
parent
ca344b5854
commit
69178eba2d
@ -69,7 +69,7 @@ public class FrightenedRagnaOrc extends AbstractNpcAI
|
||||
@Override
|
||||
public String onKill(Npc npc, Player player, boolean isSummon)
|
||||
{
|
||||
final NpcStringId msg = getRandomBoolean() ? NpcStringId.A_CURSE_UPON_YOU_2 : NpcStringId.I_REALLY_DIDN_T_WANT_TO_FIGHT;
|
||||
final NpcStringId msg = getRandomBoolean() ? NpcStringId.A_CURSE_UPON_YOU_2 : NpcStringId.I_DON_T_WANT_TO_FIGHT_YOU_2;
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, msg);
|
||||
cancelQuestTimer("say", npc, null);
|
||||
cancelQuestTimer("reward", npc, player);
|
||||
@ -88,7 +88,7 @@ public class FrightenedRagnaOrc extends AbstractNpcAI
|
||||
cancelQuestTimer("say", npc, null);
|
||||
return null;
|
||||
}
|
||||
final NpcStringId msg = getRandomBoolean() ? NpcStringId.I_DON_T_WANT_TO_FIGHT : NpcStringId.IS_THIS_REALLY_NECESSARY;
|
||||
final NpcStringId msg = getRandomBoolean() ? NpcStringId.I_DON_T_WANT_TO_FIGHT_YOU : NpcStringId.IS_THIS_REALLY_NECESSARY;
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, msg);
|
||||
break;
|
||||
}
|
||||
|
@ -40,9 +40,9 @@ public class TavernEmployee extends AbstractNpcAI
|
||||
// Text
|
||||
private static final NpcStringId[] SPAM_TEXT1 =
|
||||
{
|
||||
NpcStringId.SIGH_BUSY_AS_ALWAYS,
|
||||
NpcStringId.SO_MUCH_TO_DO,
|
||||
NpcStringId.HOW_LONG_UNTIL_WE_CAN_TELL_STORIES_TO_THE_CUSTOMERS_TOO,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_MAKING_TODAY,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_COOKING_TODAY,
|
||||
NpcStringId.HEY_YOU_WE_DON_T_WANT_DRUNK_CUSTOMERS_HERE,
|
||||
NpcStringId.WHAT_DO_YOU_THINK_ABOUT_OUR_TAVERN_ISN_T_IT_GREAT,
|
||||
NpcStringId.YOU_CAN_PLACE_YOUR_ORDER_OVER_THERE,
|
||||
@ -61,9 +61,9 @@ public class TavernEmployee extends AbstractNpcAI
|
||||
};
|
||||
private static final NpcStringId[] SPAM_TEXT3 =
|
||||
{
|
||||
NpcStringId.SIGH_BUSY_AS_ALWAYS,
|
||||
NpcStringId.SO_MUCH_TO_DO,
|
||||
NpcStringId.HOW_LONG_UNTIL_WE_CAN_TELL_STORIES_TO_THE_CUSTOMERS_TOO,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_MAKING_TODAY,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_COOKING_TODAY,
|
||||
NpcStringId.HEY_YOU_WE_DON_T_WANT_DRUNK_CUSTOMERS_HERE,
|
||||
NpcStringId.WHAT_DO_YOU_THINK_ABOUT_OUR_TAVERN_ISN_T_IT_GREAT,
|
||||
NpcStringId.YOU_CAN_PLACE_YOUR_ORDER_OVER_THERE,
|
||||
@ -84,9 +84,9 @@ public class TavernEmployee extends AbstractNpcAI
|
||||
};
|
||||
private static final NpcStringId[] SPAM_TEXT5 =
|
||||
{
|
||||
NpcStringId.SIGH_BUSY_AS_ALWAYS,
|
||||
NpcStringId.SO_MUCH_TO_DO,
|
||||
NpcStringId.HOW_LONG_UNTIL_WE_CAN_TELL_STORIES_TO_THE_CUSTOMERS_TOO,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_MAKING_TODAY,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_COOKING_TODAY,
|
||||
NpcStringId.HEY_YOU_WE_DON_T_WANT_DRUNK_CUSTOMERS_HERE,
|
||||
NpcStringId.WHAT_DO_YOU_THINK_ABOUT_OUR_TAVERN_ISN_T_IT_GREAT,
|
||||
NpcStringId.YOU_CAN_PLACE_YOUR_ORDER_OVER_THERE,
|
||||
@ -101,9 +101,9 @@ public class TavernEmployee extends AbstractNpcAI
|
||||
};
|
||||
private static final NpcStringId[] SPAM_TEXT6 =
|
||||
{
|
||||
NpcStringId.SIGH_BUSY_AS_ALWAYS,
|
||||
NpcStringId.SO_MUCH_TO_DO,
|
||||
NpcStringId.HOW_LONG_UNTIL_WE_CAN_TELL_STORIES_TO_THE_CUSTOMERS_TOO,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_MAKING_TODAY,
|
||||
NpcStringId.I_WONDER_WHAT_HANNA_WILL_BE_COOKING_TODAY,
|
||||
NpcStringId.HEY_YOU_WE_DON_T_WANT_DRUNK_CUSTOMERS_HERE,
|
||||
NpcStringId.WHAT_DO_YOU_THINK_ABOUT_OUR_TAVERN_ISN_T_IT_GREAT,
|
||||
NpcStringId.YOU_CAN_PLACE_YOUR_ORDER_OVER_THERE,
|
||||
|
@ -45,7 +45,7 @@ public class PlainsOfDion extends AbstractNpcAI
|
||||
NpcStringId.S1_HOW_DARE_YOU_INTERRUPT_OUR_FIGHT_HEY_GUYS_HELP,
|
||||
NpcStringId.S1_HEY_WE_RE_HAVING_A_DUEL_HERE,
|
||||
NpcStringId.THE_DUEL_IS_OVER_ATTACK,
|
||||
NpcStringId.FOUL_KILL_THE_COWARD,
|
||||
NpcStringId.KILL_THE_COWARD,
|
||||
NpcStringId.HOW_DARE_YOU_INTERRUPT_A_SACRED_DUEL_YOU_MUST_BE_TAUGHT_A_LESSON
|
||||
};
|
||||
|
||||
|
@ -124,7 +124,7 @@ public class Seyo extends AbstractNpcAI
|
||||
{
|
||||
final int itemCount = getRandom(10, 16);
|
||||
giveItems(player, STONE_FRAGMENT, itemCount);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.S1_PULLED_ONE_WITH_S2_DIGITS_LUCKY_NOT_BAD, player.getName(), String.valueOf(itemCount));
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.S1_HAS_PULLED_ONE_WITH_S2_DIGITS_LUCKY, player.getName(), String.valueOf(itemCount));
|
||||
}
|
||||
startQuestTimer("TRICKERY_TIMER", 5000, npc, null);
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ public class Commando extends AbstractNpcAI
|
||||
{
|
||||
if (event.equals("NPC_SHOUT"))
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WE_RE_COLLECTING_SEEKER_OF_ADEN);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WE_RE_LOOKING_FOR_RANGERS_FROM_ADEN);
|
||||
startQuestTimer("NPC_SHOUT", (10 + getRandom(5)) * 1000, npc, null);
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
|
@ -256,7 +256,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
||||
frey.setInvul(true);
|
||||
frey.setRandomWalking(false);
|
||||
frey.disableCoreAI(true);
|
||||
manageTimer(world, 60, NpcStringId.TIME_REMAINING_UNTIL_NEXT_BATTLE);
|
||||
manageTimer(world, 60, NpcStringId.TIME_UNTIL_THE_NEXT_BATTLE);
|
||||
world.setStatus(2);
|
||||
world.setParameter("freya", frey);
|
||||
startQuestTimer("STAGE_2_START", 60000, controller, null);
|
||||
@ -625,7 +625,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
npc.broadcastSay(ChatType.SHOUT, NpcStringId.ARCHER_GIVE_YOUR_BREATH_FOR_THE_INTRUDER);
|
||||
npc.broadcastSay(ChatType.SHOUT, NpcStringId.GUARD_KILL_THE_INTRUDERS);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
@ -1054,7 +1054,7 @@ public class IceQueensCastleBattle extends AbstractInstance
|
||||
case GLAKIAS_HARD:
|
||||
{
|
||||
manageDespawnMinions(world);
|
||||
manageTimer(world, 60, NpcStringId.TIME_REMAINING_UNTIL_NEXT_BATTLE);
|
||||
manageTimer(world, 60, NpcStringId.TIME_UNTIL_THE_NEXT_BATTLE);
|
||||
cancelQuestTimer("STAGE_2_FAILED", controller, null);
|
||||
startQuestTimer("STAGE_3_MOVIE", 60000, controller, null);
|
||||
break;
|
||||
|
@ -248,7 +248,7 @@ public class IstinaCavern extends AbstractInstance
|
||||
npc.setTargetable(true);
|
||||
npc.setInvul(false);
|
||||
npcVars.set("COUNTING_ENABLED", true);
|
||||
showOnScreenMsg(instance, NpcStringId.START_CHARGING_MANA_BALLISTA, ExShowScreenMessage.MIDDLE_CENTER, 4000);
|
||||
showOnScreenMsg(instance, NpcStringId.THE_MAGICAL_BALLISTA_IS_CHARGING, ExShowScreenMessage.MIDDLE_CENTER, 4000);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -65,7 +65,7 @@ public class KimerianCommon extends AbstractInstance
|
||||
NpcStringId.THEY_ARE_ROOKIE_REBELLIONS,
|
||||
NpcStringId.RESISTANCE_UNDERLINGS,
|
||||
NpcStringId.TREASON_IS_PUNISHABLE_BY_DEATH,
|
||||
NpcStringId.WHO_DO_YOU_THINK_YOU_ARE_TO_TRY_MY_AUTHORITY,
|
||||
NpcStringId.DO_YOU_REALLY_WANT_TO_TEST_MY_ABILITIES,
|
||||
};
|
||||
private static final int TEMPLATE_ID = 161;
|
||||
|
||||
|
@ -97,7 +97,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
{
|
||||
if (player != null)
|
||||
{
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.YOU_HAVE_FAILED_TO_DESTROY_THE_LIMIT_BARRIER_THE_RAID_BOSS_FULLY_RECOVERS_ITS_CON, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.YOU_HAVE_FAILED_TO_DESTROY_THE_LIMIT_BARRIER_THE_RAID_BOSS_HAS_FULLY_RECOVERED_ITS_HEALTH, 2, 5000, true));
|
||||
}
|
||||
npc.setCurrentHp(npc.getStat().getMaxHp(), true);
|
||||
npc.stopSkillEffects(SkillFinishType.REMOVED, LIMIT_BARRIER.getSkillId());
|
||||
@ -135,7 +135,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
npc.abortAttack();
|
||||
npc.abortCast();
|
||||
npc.doCast(LIMIT_BARRIER.getSkill());
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_LIMIT_BARRIER_IN_15_SECONDS, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_BARRIER_IN_15_SEC, 2, 5000, true));
|
||||
startQuestTimer("RESTORE_FULL_HP", 15000, npc, attacker);
|
||||
}
|
||||
}
|
||||
@ -147,7 +147,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
npc.abortAttack();
|
||||
npc.abortCast();
|
||||
npc.doCast(LIMIT_BARRIER.getSkill());
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_LIMIT_BARRIER_IN_15_SECONDS, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_BARRIER_IN_15_SEC, 2, 5000, true));
|
||||
startQuestTimer("RESTORE_FULL_HP", 15000, npc, attacker);
|
||||
}
|
||||
}
|
||||
@ -159,7 +159,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
npc.abortAttack();
|
||||
npc.abortCast();
|
||||
npc.doCast(LIMIT_BARRIER.getSkill());
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_LIMIT_BARRIER_IN_15_SECONDS, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_BARRIER_IN_15_SEC, 2, 5000, true));
|
||||
startQuestTimer("RESTORE_FULL_HP", 15000, npc, attacker);
|
||||
}
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ public class SinEater extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSummonSpawn(Summon summon)
|
||||
{
|
||||
broadcastSummonSay(summon, getRandomBoolean() ? NpcStringId.HEY_IT_SEEMS_LIKE_YOU_NEED_MY_HELP_DOESN_T_IT : NpcStringId.ALMOST_GOT_IT_OUCH_STOP_DAMN_THESE_BLOODY_MANACLES);
|
||||
broadcastSummonSay(summon, getRandomBoolean() ? NpcStringId.HEY_IT_SEEMS_LIKE_YOU_NEED_MY_HELP_DOESN_T_IT : NpcStringId.ALMOST_GOT_IT_DAMN_THESE_BLOODY_MANACLES);
|
||||
startQuestTimer("TALK", 60000, null, summon.getOwner());
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ public class WarriorFishingBlock extends AbstractNpcAI
|
||||
// NPC Strings
|
||||
private static final NpcStringId[] NPC_STRINGS_ON_SPAWN =
|
||||
{
|
||||
NpcStringId.CROAK_CROAK_IS_THERE_FOOD_LIKE_S1_HERE,
|
||||
NpcStringId.IS_THERE_FOOD_LIKE_S1_HERE,
|
||||
NpcStringId.S1_HOW_LUCKY_I_AM,
|
||||
NpcStringId.PRAY_THAT_YOU_CAUGHT_A_WRONG_FISH_S1
|
||||
};
|
||||
|
@ -125,7 +125,7 @@ public class SavingSanta extends LongTimeEvent
|
||||
NpcStringId.OH_HO_HO_OH_HO_HO_THANK_YOU_LADIES_AND_GENTLEMEN_I_WILL_REPAY_YOU_FOR_SURE,
|
||||
NpcStringId.HAPPY_HOLIDAYS_WELL_DONE,
|
||||
NpcStringId.HAPPY_HOLIDAYS_THANK_YOU_FOR_RESCUING_ME_FROM_THAT_WRETCHED_TURKEY,
|
||||
NpcStringId.S1_I_HAVE_PREPARED_A_GIFT_FOR_YOU,
|
||||
NpcStringId.I_VE_PREPARED_A_GIFT_FOR_YOU_S1,
|
||||
NpcStringId.I_HAVE_A_GIFT_FOR_S1,
|
||||
NpcStringId.TAKE_A_LOOK_AT_THE_INVENTORY_I_HOPE_YOU_LIKE_THE_GIFT_I_GAVE_YOU,
|
||||
NpcStringId.TAKE_A_LOOK_AT_THE_INVENTORY_PERHAPS_THERE_MIGHT_BE_A_BIG_PRESENT,
|
||||
|
@ -84,11 +84,11 @@ public class DarkCloudMansion extends AbstractInstance
|
||||
NpcStringId.PICK_ME,
|
||||
NpcStringId.TRUST_ME,
|
||||
NpcStringId.NOT_THAT_DUDE_I_M_THE_REAL_ONE,
|
||||
NpcStringId.DON_T_BE_FOOLED_DON_T_BE_FOOLED_I_M_THE_REAL_ONE
|
||||
NpcStringId.DON_T_BE_FOOLED_I_M_THE_REAL_ONE
|
||||
};
|
||||
private static final NpcStringId[] DECAY_CHAT =
|
||||
{
|
||||
NpcStringId.I_M_THE_REAL_ONE_PHEW,
|
||||
NpcStringId.I_M_THE_REAL_ONE_2,
|
||||
NpcStringId.CAN_T_YOU_EVEN_FIND_OUT,
|
||||
NpcStringId.FIND_ME
|
||||
};
|
||||
|
@ -465,7 +465,7 @@ public class EvilIncubator extends AbstractInstance
|
||||
spawnedNpcs = world.spawnGroup("wave_" + waveId);
|
||||
waveId++;
|
||||
world.setParameter("WORLD_WAVE", waveId);
|
||||
showOnScreenMsg(world, NpcStringId.CREATURES_RESURRECTED_DEFEND_YOURSELF, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
showOnScreenMsg(world, NpcStringId.EVIL_INCUBATOR_GET_READY_TO_FIGHT_EVIL_FORCES, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
@ -487,7 +487,7 @@ public class EvilIncubator extends AbstractInstance
|
||||
spawnedNpcs = world.spawnGroup("wave_" + waveId);
|
||||
waveId++;
|
||||
world.setParameter("WORLD_WAVE", waveId);
|
||||
showOnScreenMsg(world, NpcStringId.CREATURES_RESURRECTED_DEFEND_YOURSELF, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
showOnScreenMsg(world, NpcStringId.EVIL_INCUBATOR_GET_READY_TO_FIGHT_EVIL_FORCES, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
getTimers().addTimer("SPAWN_WAVE", 20000, e -> manageWaveSpawn(world));
|
||||
break;
|
||||
}
|
||||
@ -496,7 +496,7 @@ public class EvilIncubator extends AbstractInstance
|
||||
spawnedNpcs = world.spawnGroup("wave_" + waveId);
|
||||
waveId++;
|
||||
world.setParameter("WORLD_WAVE", waveId);
|
||||
showOnScreenMsg(world, NpcStringId.I_DEATH_WOUND_CHAMPION_OF_SHILLIEN_SHALL_END_YOUR_WORLD, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
showOnScreenMsg(world, NpcStringId.I_SHALL_GRANT_YOU_DEATH_IT_S_THE_ONLY_GIFT_FROM_THE_GODDESS_OF_DESTRUCTION, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
getTimers().addTimer("SPAWN_WAVE", 20000, e -> manageWaveSpawn(world));
|
||||
final Npc boss = addSpawn(CLASS_BOSS.get(world.getFirstPlayer().getClassId()).intValue(), BOSS_LOC, false, 0, false, world.getId());
|
||||
world.broadcastPacket(new Earthquake(boss, 50, 10));
|
||||
|
@ -327,7 +327,7 @@ public class Fortuna extends AbstractInstance
|
||||
{
|
||||
world.setStatus(15);
|
||||
world.spawnGroup("fortuna_15");
|
||||
showOnScreenMsg(world, NpcStringId.ENRAGED_MASTER_KINEN_APPEARS, ExShowScreenMessage.BOTTOM_RIGHT, 6000, true);
|
||||
showOnScreenMsg(world, NpcStringId.ENRAGED_MASTER_KINEN, ExShowScreenMessage.BOTTOM_RIGHT, 6000, true);
|
||||
}
|
||||
startQuestTimer("check_fortuna_status", 5000, npc, null);
|
||||
break;
|
||||
|
@ -445,7 +445,7 @@ public class KartiasLabyrinth extends AbstractInstance
|
||||
if (npc.isScriptValue(0) && (npc.getCurrentHpPercent() < 10))
|
||||
{
|
||||
npc.setScriptValue(1);
|
||||
showOnScreenMsg(instance, NpcStringId.BURNING_BLOOD_S_EFFECT_IS_FELT, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
showOnScreenMsg(instance, NpcStringId.YOU_FEEL_THE_BURNING_BLOOD_EFFECT, ExShowScreenMessage.TOP_CENTER, 5000, true);
|
||||
MIRROR_SKILL_1.getSkill().applyEffects(attacker, attacker);
|
||||
MIRROR_SKILL_2.getSkill().applyEffects(attacker, attacker);
|
||||
manageProgressInInstance(instance);
|
||||
|
@ -124,7 +124,7 @@ public class KastiaExceptional extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_4, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_4_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(4);
|
||||
world.spawnGroup("wave_4");
|
||||
}
|
||||
@ -135,7 +135,7 @@ public class KastiaExceptional extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_5, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_5_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(5);
|
||||
world.spawnGroup("wave_5");
|
||||
}
|
||||
@ -146,7 +146,7 @@ public class KastiaExceptional extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_6, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_6_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(6);
|
||||
world.spawnGroup("wave_6");
|
||||
}
|
||||
@ -157,7 +157,7 @@ public class KastiaExceptional extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_7, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_7_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(7);
|
||||
world.spawnGroup("wave_7");
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ public class KastiaExtreme extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_4, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_4_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(4);
|
||||
world.spawnGroup("wave_4");
|
||||
}
|
||||
@ -135,7 +135,7 @@ public class KastiaExtreme extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_5, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_5_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(5);
|
||||
world.spawnGroup("wave_5");
|
||||
}
|
||||
@ -146,7 +146,7 @@ public class KastiaExtreme extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_6, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_6_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(6);
|
||||
world.spawnGroup("wave_6");
|
||||
}
|
||||
@ -157,7 +157,7 @@ public class KastiaExtreme extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_7, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_7_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(7);
|
||||
world.spawnGroup("wave_7");
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ public class KastiaHard extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_4, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_4_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(4);
|
||||
world.spawnGroup("wave_4");
|
||||
}
|
||||
@ -135,7 +135,7 @@ public class KastiaHard extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_5, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_5_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(5);
|
||||
world.spawnGroup("wave_5");
|
||||
}
|
||||
@ -146,7 +146,7 @@ public class KastiaHard extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_6, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_6_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(6);
|
||||
world.spawnGroup("wave_6");
|
||||
}
|
||||
@ -157,7 +157,7 @@ public class KastiaHard extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_7, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_7_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(7);
|
||||
world.spawnGroup("wave_7");
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ public class KastiaLow extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_4, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_4_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(4);
|
||||
world.spawnGroup("wave_4");
|
||||
}
|
||||
@ -135,7 +135,7 @@ public class KastiaLow extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_5, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_5_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(5);
|
||||
world.spawnGroup("wave_5");
|
||||
}
|
||||
@ -146,7 +146,7 @@ public class KastiaLow extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_6, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_6_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(6);
|
||||
world.spawnGroup("wave_6");
|
||||
}
|
||||
@ -157,7 +157,7 @@ public class KastiaLow extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_7, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_7_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(7);
|
||||
world.spawnGroup("wave_7");
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ public class KastiaMedium extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_4, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_4_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(4);
|
||||
world.spawnGroup("wave_4");
|
||||
}
|
||||
@ -135,7 +135,7 @@ public class KastiaMedium extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_5, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_5_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(5);
|
||||
world.spawnGroup("wave_5");
|
||||
}
|
||||
@ -146,7 +146,7 @@ public class KastiaMedium extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_6, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_6_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(6);
|
||||
world.spawnGroup("wave_6");
|
||||
}
|
||||
@ -157,7 +157,7 @@ public class KastiaMedium extends AbstractInstance
|
||||
{
|
||||
if (world.getAliveNpcCount() == 0)
|
||||
{
|
||||
showOnScreenMsg(world, NpcStringId.STAGE_7, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
showOnScreenMsg(world, NpcStringId.LV_7_2, ExShowScreenMessage.TOP_CENTER, 10000, true);
|
||||
world.setStatus(7);
|
||||
world.spawnGroup("wave_7");
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ public class StoryOfFreya extends AbstractInstance
|
||||
if (getRandom(10) < 5)
|
||||
{
|
||||
world.spawnGroup("knight");
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.ICE_KNIGHTS_GOT_IN_DEFEAT_THE_ICE_KNIGHTS, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
||||
world.broadcastPacket(new ExShowScreenMessage(NpcStringId.FROZEN_LABYRINTH_KNIGHTS_HAVE_ATTACKED_US_DEFEAT_THEM, ExShowScreenMessage.TOP_CENTER, 20000, true));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -182,7 +182,7 @@ public class Nursery extends AbstractInstance
|
||||
}
|
||||
|
||||
npcVars.set("GAME_POINTS", npcVars.getInt("GAME_POINTS", 0) + addPoints);
|
||||
showOnScreenMsg(instance, NpcStringId.SOLDIER_TIE_ABSORBED_REPRODUCTIVE_ENERGY_FROM_YOUR_BODY_AND_CONVERTED_S1_PIECES_OF_BIO_ENERGY, ExShowScreenMessage.TOP_CENTER, 3000, String.valueOf(addPoints));
|
||||
showOnScreenMsg(instance, NpcStringId.SOLDIER_TIE_HAS_ABSORBED_REGENERATIVE_ENERGY_FROM_YOUR_BODY_AND_CONVERTED_IT_TO_BIO_ENERGY_X_S1, ExShowScreenMessage.TOP_CENTER, 3000, String.valueOf(addPoints));
|
||||
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ENERGY_SKILL_1.getSkill());
|
||||
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ENERGY_SKILL_2.getSkill());
|
||||
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ENERGY_SKILL_3.getSkill());
|
||||
|
@ -115,7 +115,7 @@ public abstract class LetterQuest extends Quest
|
||||
else
|
||||
{
|
||||
addCondNotRace(Race.ERTHEIA, "");
|
||||
_startMessage = NpcStringId.KEKROPUS_LETTER_HAS_ARRIVED_CLICK_THE_QUESTION_MARK_ICON_TO_READ;
|
||||
_startMessage = NpcStringId.YOU_HAVE_A_LETTER_FROM_KEKROPUS_CLICK_THE_QUESTION_MARK_ICON_TO_READ_IT;
|
||||
}
|
||||
}
|
||||
|
||||
@ -180,7 +180,7 @@ public abstract class LetterQuest extends Quest
|
||||
}
|
||||
else if (AttackStanceTaskManager.getInstance().hasAttackStanceTask(player))
|
||||
{
|
||||
showOnScreenMsg(player, NpcStringId.YOU_CANNOT_TELEPORT_WHILE_IN_COMBAT_MODE, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
showOnScreenMsg(player, NpcStringId.YOU_CANNOT_TELEPORT_WHILE_IN_COMBAT, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
}
|
||||
else if (player.isTransformed())
|
||||
{
|
||||
|
@ -231,7 +231,7 @@ public class Q11025_PathOfDestinyProving extends Quest
|
||||
player.getVariables().set(REWARD_CHECK_VAR3, true);
|
||||
if (INSTANT_LEVEL_40 && (player.getLevel() < LEVEL_40))
|
||||
{
|
||||
addExpAndSp(player, (ExperienceData.getInstance().getExpForLevel(LEVEL_40) +1) - player.getExp(), 0);
|
||||
addExpAndSp(player, (ExperienceData.getInstance().getExpForLevel(LEVEL_40) + 1) - player.getExp(), 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -611,7 +611,7 @@ public class Q11025_PathOfDestinyProving extends Quest
|
||||
if (qs.isCond(4))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.DEFEAT_SKELETONS_3.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.KILL_SKELETONS_3.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
return holder;
|
||||
}
|
||||
else if (qs.isCond(11))
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -45,7 +45,7 @@ public class PlainsOfDion extends AbstractNpcAI
|
||||
NpcStringId.S1_HOW_DARE_YOU_INTERRUPT_OUR_FIGHT_HEY_GUYS_HELP,
|
||||
NpcStringId.S1_HEY_WE_RE_HAVING_A_DUEL_HERE,
|
||||
NpcStringId.THE_DUEL_IS_OVER_ATTACK,
|
||||
NpcStringId.FOUL_KILL_THE_COWARD,
|
||||
NpcStringId.KILL_THE_COWARD,
|
||||
NpcStringId.HOW_DARE_YOU_INTERRUPT_A_SACRED_DUEL_YOU_MUST_BE_TAUGHT_A_LESSON
|
||||
};
|
||||
|
||||
|
@ -119,7 +119,7 @@ public class EnergyOfInsolence extends AbstractNpcAI
|
||||
}
|
||||
case POWER_ANGEL_AMON:
|
||||
{
|
||||
npcStringId = spawning ? NpcStringId.I_WONDER_WHO_IT_IS_THAT_IS_LURKING_ABOUT : NpcStringId.WHY_WOULD_YOU_BUILD_A_TOWER_IN_OUR_TERRITORY;
|
||||
npcStringId = spawning ? NpcStringId.I_WONDER_WHO_IT_IS_THAT_IS_LURKING_ABOUT : NpcStringId.HOW_DARE_YOU_INVADE_OUR_LAND_I_WON_T_LET_IT_PASS;
|
||||
}
|
||||
}
|
||||
npc.broadcastSay(ChatType.NPC_SHOUT, npcStringId);
|
||||
|
@ -161,7 +161,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
{
|
||||
if (player != null)
|
||||
{
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.YOU_HAVE_FAILED_TO_DESTROY_THE_LIMIT_BARRIER_THE_RAID_BOSS_FULLY_RECOVERS_ITS_HEALTH, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.YOU_HAVE_FAILED_TO_DESTROY_THE_LIMIT_BARRIER_THE_RAID_BOSS_HAS_FULLY_RECOVERED_ITS_HEALTH, 2, 5000, true));
|
||||
}
|
||||
npc.setCurrentHp(npc.getStat().getMaxHp(), true);
|
||||
npc.stopSkillEffects(SkillFinishType.REMOVED, LIMIT_BARRIER.getSkillId());
|
||||
@ -199,7 +199,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
npc.abortAttack();
|
||||
npc.abortCast();
|
||||
npc.doCast(LIMIT_BARRIER.getSkill());
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_LIMIT_BARRIER_IN_15_SECONDS, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_BARRIER_IN_15_SEC, 2, 5000, true));
|
||||
startQuestTimer("RESTORE_FULL_HP", 15000, npc, attacker);
|
||||
}
|
||||
}
|
||||
@ -211,7 +211,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
npc.abortAttack();
|
||||
npc.abortCast();
|
||||
npc.doCast(LIMIT_BARRIER.getSkill());
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_LIMIT_BARRIER_IN_15_SECONDS, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_BARRIER_IN_15_SEC, 2, 5000, true));
|
||||
startQuestTimer("RESTORE_FULL_HP", 15000, npc, attacker);
|
||||
}
|
||||
}
|
||||
@ -223,7 +223,7 @@ public final class LimitBarrier extends AbstractNpcAI
|
||||
npc.abortAttack();
|
||||
npc.abortCast();
|
||||
npc.doCast(LIMIT_BARRIER.getSkill());
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_LIMIT_BARRIER_IN_15_SECONDS, 2, 5000, true));
|
||||
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.THE_RAID_BOSS_USES_THE_LIMIT_BARRIER_FOCUS_YOUR_ATTACKS_TO_DESTROY_THE_BARRIER_IN_15_SEC, 2, 5000, true));
|
||||
startQuestTimer("RESTORE_FULL_HP", 15000, npc, attacker);
|
||||
}
|
||||
}
|
||||
|
@ -359,7 +359,7 @@ public class ClanHallManager extends AbstractNpcAI
|
||||
htmltext = getHtm(player, "ClanHallManager-funcConfirm" + funcId + ".html");
|
||||
htmltext = htmltext.replace("%funcId%", String.valueOf(funcId));
|
||||
htmltext = htmltext.replace("%funcLv%", String.valueOf(funcLv));
|
||||
htmltext = htmltext.replace("%funcCost%", "<fstring p1=\"" + template.getCost().getCount() + "\" p2=\"" + template.getDurationAsDays() + "\">" + NpcStringId.FONT_COLOR_FFAABB_S1_FONT_ADENA_S2_DAY_S.getId() + "</fstring>");
|
||||
htmltext = htmltext.replace("%funcCost%", "<fstring p1=\"" + template.getCost().getCount() + "\" p2=\"" + template.getDurationAsDays() + "\">" + NpcStringId.FONT_COLOR_FFAABB_S1_FONT_ADENA_S2_D.getId() + "</fstring>");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -501,7 +501,7 @@ public class ClanHallManager extends AbstractNpcAI
|
||||
if (func != null)
|
||||
{
|
||||
htmltext = htmltext.replaceAll("%" + name + "recovery%", String.valueOf((int) func.getTemplate().getValue()) + "%");
|
||||
htmltext = htmltext.replaceAll("%" + name + "price%", "<fstring p1=\"" + func.getTemplate().getCost().getCount() + "\" p2=\"" + func.getTemplate().getDurationAsDays() + "\">" + NpcStringId.FONT_COLOR_FFAABB_S1_FONT_ADENA_S2_DAY_S.getId() + "</fstring>");
|
||||
htmltext = htmltext.replaceAll("%" + name + "price%", "<fstring p1=\"" + func.getTemplate().getCost().getCount() + "\" p2=\"" + func.getTemplate().getDurationAsDays() + "\">" + NpcStringId.FONT_COLOR_FFAABB_S1_FONT_ADENA_S2_D.getId() + "</fstring>");
|
||||
htmltext = htmltext.replace("%" + name + "expire%", "Withdraw the fee for the next time at " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(func.getExpiration())));
|
||||
htmltext = htmltext.replaceAll("%" + name + "deactive%", "[<a action=\"bypass -h Quest ClanHallManager manageFunctions removeFunction confirm " + func.getType().toString() + "\">Deactivate</a>]");
|
||||
}
|
||||
|
@ -130,7 +130,7 @@ public class SinEater extends AbstractNpcAI
|
||||
@Override
|
||||
public void onSummonSpawn(Summon summon)
|
||||
{
|
||||
broadcastSummonSay(summon, getRandomBoolean() ? NpcStringId.HEY_IT_SEEMS_LIKE_YOU_NEED_MY_HELP_DOESN_T_IT : NpcStringId.ALMOST_GOT_IT_OUCH_STOP_DAMN_THESE_BLOODY_MANACLES);
|
||||
broadcastSummonSay(summon, getRandomBoolean() ? NpcStringId.HEY_IT_SEEMS_LIKE_YOU_NEED_MY_HELP_DOESN_T_IT : NpcStringId.ALMOST_GOT_IT_DAMN_THESE_BLOODY_MANACLES);
|
||||
startQuestTimer("TALK", 60000, null, summon.getOwner());
|
||||
}
|
||||
|
||||
|
@ -301,7 +301,7 @@ public class MonsterArena extends AbstractInstance
|
||||
|
||||
// Make machine talk.
|
||||
final Npc machine = world.getNpc(MACHINE);
|
||||
machine.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HA_NOT_BAD);
|
||||
machine.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HMM_NOT_BAD_2);
|
||||
|
||||
// Save progress to global variables.
|
||||
GlobalVariablesManager.getInstance().increaseInt(GlobalVariablesManager.MONSTER_ARENA_VARIABLE + machine.getScriptValue(), 1);
|
||||
|
@ -183,7 +183,7 @@ public class Q00255_Tutorial extends Quest
|
||||
{
|
||||
qs.startQuest();
|
||||
qs.setMemoState(1);
|
||||
showOnScreenMsg(player, NpcStringId.SPEAK_WITH_THE_NEWBIE_HELPER, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
showOnScreenMsg(player, NpcStringId.TALK_TO_NEWBIE_HELPER, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
playTutorialVoice(player, STARTING_VOICE_HTML.get(player.getClassId().getId()).getSound());
|
||||
showTutorialHtml(player, STARTING_VOICE_HTML.get(player.getClassId().getId()).getHtml());
|
||||
}
|
||||
@ -363,7 +363,7 @@ public class Q00255_Tutorial extends Quest
|
||||
{
|
||||
if (qs.isMemoState(1))
|
||||
{
|
||||
showOnScreenMsg(event.getPlayer(), NpcStringId.SPEAK_WITH_THE_NEWBIE_HELPER, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
showOnScreenMsg(event.getPlayer(), NpcStringId.TALK_TO_NEWBIE_HELPER, ExShowScreenMessage.TOP_CENTER, 5000);
|
||||
final int classId = event.getPlayer().getClassId().getId();
|
||||
addRadar(event.getPlayer(), HELPER_LOCATION.get(classId).getX(), HELPER_LOCATION.get(classId).getY(), HELPER_LOCATION.get(classId).getZ());
|
||||
showTutorialHtml(event.getPlayer(), "tutorial_04.html");
|
||||
|
@ -188,7 +188,7 @@ public class Q10295_RespectForGraves extends Quest
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_THE_CEMETERY_2.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.LEVEL_52_ACCOMPLISHED, player.getLevel() > 51 ? 1 : 0));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.REACH_LV_52, player.getLevel() > 51 ? 1 : 0));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
|
@ -194,7 +194,7 @@ public class Q10296_LetsPayRespectsToOurFallenBrethren extends Quest
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_THE_FIELDS_OF_MASSACRE_2.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.LEVEL_58_ACCOMPLISHED, player.getLevel() > 57 ? 1 : 0));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.REACH_LV_58, player.getLevel() > 57 ? 1 : 0));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
|
@ -189,7 +189,7 @@ public class Q10298_TracesOfBattle extends Quest
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_ON_THE_WAR_TORN_PLAINS.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.LEVEL_70_ACCOMPLISHED, player.getLevel() > 69 ? 1 : 0));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.REACH_LV_70, player.getLevel() > 69 ? 1 : 0));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
|
@ -61,7 +61,7 @@ public class Q10302_FoilPlansOfTheLizardmen extends Quest
|
||||
addKillId(MONSTERS);
|
||||
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
|
||||
registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
|
||||
setQuestNameNpcStringId(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN);
|
||||
setQuestNameNpcStringId(NpcStringId.KILL_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -178,7 +178,7 @@ public class Q10302_FoilPlansOfTheLizardmen extends Quest
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.ERADICATE_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_THE_PLAINS_OF_THE_LIZARDMEN.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
|
@ -1,4 +0,0 @@
|
||||
<html><body>High Priest Orven:<br>
|
||||
It's called a Tower of Insolence.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10303_SymbolOfHubris 30857-02.htm">Learn more</Button>
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>High Priest Orven:<br>
|
||||
I want to ask you for help.<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10303_SymbolOfHubris 30857-03.htm">"What should I do?"</Button>
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>High Priest Orven:<br>
|
||||
Thank you for answering my plea.<br>
|
||||
Go to the Tower of Insolence and defeat the monsters that roam near. Valid targets: <font color="LEVEL">Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence</font>.<br>
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>High Priest Orven:<br>
|
||||
Hello my friend. Do you want to explore a dangerous tower near Aden?<br>
|
||||
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest Q10303_SymbolOfHubris 30857-01.htm">Shrug</Button>
|
||||
</body></html>
|
@ -1,192 +0,0 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package quests.Q10303_SymbolOfHubris;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.Player;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.NpcLogListHolder;
|
||||
import org.l2jmobius.gameserver.model.quest.Quest;
|
||||
import org.l2jmobius.gameserver.model.quest.QuestState;
|
||||
import org.l2jmobius.gameserver.network.NpcStringId;
|
||||
|
||||
/**
|
||||
* @author petryxa
|
||||
*/
|
||||
public class Q10303_SymbolOfHubris extends Quest
|
||||
{
|
||||
// NPC
|
||||
private static final int ORVEN = 30857;
|
||||
// Monsters
|
||||
private static final int[] MONSTERS =
|
||||
{
|
||||
21989,
|
||||
21990,
|
||||
21991,
|
||||
21992,
|
||||
21993,
|
||||
21994,
|
||||
21995,
|
||||
21996,
|
||||
21997,
|
||||
21998,
|
||||
21999,
|
||||
};
|
||||
// Items
|
||||
private static final ItemHolder SOE_HIGH_PRIEST_OVEN = new ItemHolder(91768, 1);
|
||||
private static final ItemHolder SAYHA_COOKIE = new ItemHolder(93274, 10);
|
||||
private static final ItemHolder SAYHA_STORM = new ItemHolder(91712, 8);
|
||||
private static final ItemHolder MAGIC_LAMP_CHARGING_POTION = new ItemHolder(91757, 1);
|
||||
// Misc
|
||||
private static final int MIN_LEVEL = 78;
|
||||
private static final String KILL_COUNT_VAR = "KillCount";
|
||||
|
||||
public Q10303_SymbolOfHubris()
|
||||
{
|
||||
super(10303);
|
||||
addStartNpc(ORVEN);
|
||||
addTalkId(ORVEN);
|
||||
addKillId(MONSTERS);
|
||||
addCondMinLevel(MIN_LEVEL, "no_lvl.html");
|
||||
registerQuestItems(SOE_HIGH_PRIEST_OVEN.getId());
|
||||
setQuestNameNpcStringId(NpcStringId.KILL_MONSTERS_IN_THE_TOWER_OF_INSOLENCE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if (qs == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
switch (event)
|
||||
{
|
||||
case "30857.htm":
|
||||
case "30857-01.htm":
|
||||
case "30857-02.htm":
|
||||
{
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "30857-03.htm":
|
||||
{
|
||||
qs.startQuest();
|
||||
htmltext = event;
|
||||
break;
|
||||
}
|
||||
case "reward":
|
||||
{
|
||||
if (qs.isCond(2))
|
||||
{
|
||||
addExpAndSp(player, 100000000, 2700000);
|
||||
giveItems(player, SAYHA_COOKIE);
|
||||
giveItems(player, SAYHA_STORM);
|
||||
giveItems(player, MAGIC_LAMP_CHARGING_POTION);
|
||||
htmltext = "30857-05.html";
|
||||
qs.exitQuest(false, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onTalk(Npc npc, Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, true);
|
||||
String htmltext = getNoQuestMsg(player);
|
||||
if (qs.isCreated())
|
||||
{
|
||||
htmltext = "30857.htm";
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
{
|
||||
if (qs.isCond(1))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
|
||||
if (killCount < 1000)
|
||||
{
|
||||
htmltext = "no_kill.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
htmltext = "30857-01.htm";
|
||||
}
|
||||
}
|
||||
else if (qs.isCond(2))
|
||||
{
|
||||
htmltext = "30857-04.html";
|
||||
}
|
||||
}
|
||||
else if (qs.isCompleted())
|
||||
{
|
||||
htmltext = getAlreadyCompletedMsg(player);
|
||||
}
|
||||
return htmltext;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onKill(Npc npc, Player killer, boolean isSummon)
|
||||
{
|
||||
final QuestState qs = getQuestState(killer, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
final int killCount = qs.getInt(KILL_COUNT_VAR) + 1;
|
||||
if (killCount < 1000)
|
||||
{
|
||||
qs.set(KILL_COUNT_VAR, killCount);
|
||||
playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET);
|
||||
sendNpcLogList(killer);
|
||||
}
|
||||
else
|
||||
{
|
||||
qs.setCond(2, true);
|
||||
giveItems(killer, SOE_HIGH_PRIEST_OVEN);
|
||||
qs.unset(KILL_COUNT_VAR);
|
||||
}
|
||||
}
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPartyMember(Player member, Npc npc)
|
||||
{
|
||||
final QuestState qs = getQuestState(member, false);
|
||||
return ((qs != null) && qs.isStarted());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<NpcLogListHolder> getNpcLogList(Player player)
|
||||
{
|
||||
final QuestState qs = getQuestState(player, false);
|
||||
if ((qs != null) && qs.isCond(1))
|
||||
{
|
||||
final Set<NpcLogListHolder> holder = new HashSet<>();
|
||||
holder.add(new NpcLogListHolder(NpcStringId.KILL_MONSTERS_IN_THE_TOWER_OF_INSOLENCE.getId(), true, qs.getInt(KILL_COUNT_VAR)));
|
||||
return holder;
|
||||
}
|
||||
return super.getNpcLogList(player);
|
||||
}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
<html><body>High Priest Orven:<br>
|
||||
I think there are still too many monsters.<br>
|
||||
Go to the <font color="LEVEL">Tower of Insolence</font> and defeat the monsters that roam near. Monsters to hunt: <font color="LEVEL">Ghost of the Tower, Tower Watchman, Ghastly Warrior, Archer of Despair, Judge of Despair, Crendion, Swordsman of Ordeal, Hound of Destruction, Royal Guard of Insolence</font>.<br>
|
||||
</body></html>
|
@ -1,4 +0,0 @@
|
||||
<html><body>Hight Priest Orven:<br>
|
||||
I think you are not strong enough for this quest. Gain more experience and then come back.<br>
|
||||
(This quest is available to characters of Lv. 78+.)<br>
|
||||
</body></html>
|
@ -36,7 +36,6 @@ import quests.Q10299_GetIncrediblePower.Q10299_GetIncrediblePower;
|
||||
import quests.Q10300_ExploringTheCrumaTower.Q10300_ExploringTheCrumaTower;
|
||||
import quests.Q10301_NotSoSilentValley.Q10301_NotSoSilentValley;
|
||||
import quests.Q10302_FoilPlansOfTheLizardmen.Q10302_FoilPlansOfTheLizardmen;
|
||||
import quests.Q10303_SymbolOfHubris.Q10303_SymbolOfHubris;
|
||||
import quests.Q10304_ChangesintheDragonValley.Q10304_ChangesintheDragonValley;
|
||||
import quests.Q10305_DragonsSuspiciousMovements.Q10305_DragonsSuspiciousMovements;
|
||||
import quests.Q10306_StopSelMahumsTroops.Q10306_StopSelMahumsTroops;
|
||||
@ -101,7 +100,6 @@ public class QuestMasterHandler
|
||||
Q10300_ExploringTheCrumaTower.class,
|
||||
Q10301_NotSoSilentValley.class,
|
||||
Q10302_FoilPlansOfTheLizardmen.class,
|
||||
Q10303_SymbolOfHubris.class,
|
||||
Q10304_ChangesintheDragonValley.class,
|
||||
Q10305_DragonsSuspiciousMovements.class,
|
||||
Q10306_StopSelMahumsTroops.class,
|
||||
|
@ -51,7 +51,7 @@ public class OlympiadAnnouncer implements Runnable
|
||||
{
|
||||
case NON_CLASSED:
|
||||
{
|
||||
npcString = NpcStringId.THE_WORLD_OLYMPIAD_WILL_BEGIN_IN_ARENA_S1_SOON;
|
||||
npcString = NpcStringId.THE_DUELS_BETWEEN_PLAYERS_OF_ANY_CLASS_WILL_START_SHORTLY_IN_ARENA_S1;
|
||||
break;
|
||||
}
|
||||
case CLASSED:
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user