Removal of assorted empty lines.

This commit is contained in:
MobiusDevelopment
2020-03-03 17:07:18 +00:00
parent ecaf8a1a66
commit 6d8addc784
14371 changed files with 304 additions and 44722 deletions

View File

@@ -108,7 +108,6 @@ public abstract class AbstractNpcAI extends Quest
final int x = npcAround.getLocation().getX() + (int) (Math.cos(Math.PI + radian + course) * nRadius); final int x = npcAround.getLocation().getX() + (int) (Math.cos(Math.PI + radian + course) * nRadius);
final int y = npcAround.getLocation().getY() + (int) (Math.sin(Math.PI + radian + course) * nRadius); final int y = npcAround.getLocation().getY() + (int) (Math.sin(Math.PI + radian + course) * nRadius);
final int z = npcAround.getLocation().getZ(); final int z = npcAround.getLocation().getZ();
npc.getAI().moveTo(new Location(x, y, z)); npc.getAI().moveTo(new Location(x, y, z));
}); });
} }

View File

@@ -72,12 +72,10 @@ public class AncientArcanCity extends AbstractNpcAI
if (event.equals("CHANGE_STATE")) if (event.equals("CHANGE_STATE"))
{ {
isCeremonyRunning = !isCeremonyRunning; isCeremonyRunning = !isCeremonyRunning;
for (PlayerInstance temp : BROADCAST_ZONE.getPlayersInside()) for (PlayerInstance temp : BROADCAST_ZONE.getPlayersInside())
{ {
temp.sendPacket(new OnEventTrigger(262001, !isCeremonyRunning)); temp.sendPacket(new OnEventTrigger(262001, !isCeremonyRunning));
temp.sendPacket(new OnEventTrigger(262003, isCeremonyRunning)); temp.sendPacket(new OnEventTrigger(262003, isCeremonyRunning));
if (isCeremonyRunning) if (isCeremonyRunning)
{ {
showOnScreenMsg(temp, NpcStringId.THE_INCREASED_GRASP_OF_DARK_ENERGY_CAUSES_THE_GROUND_TO_SHAKE, ExShowScreenMessage.TOP_CENTER, 5000, true); showOnScreenMsg(temp, NpcStringId.THE_INCREASED_GRASP_OF_DARK_ENERGY_CAUSES_THE_GROUND_TO_SHAKE, ExShowScreenMessage.TOP_CENTER, 5000, true);
@@ -108,7 +106,6 @@ public class AncientArcanCity extends AbstractNpcAI
if (creature.isPlayer()) if (creature.isPlayer())
{ {
final PlayerInstance player = creature.getActingPlayer(); final PlayerInstance player = creature.getActingPlayer();
if (zone.getId() == TELEPORT_ZONE.getId()) if (zone.getId() == TELEPORT_ZONE.getId())
{ {
final QuestState qs = creature.getActingPlayer().getQuestState(Q10301_ShadowOfTerrorBlackishRedFog.class.getSimpleName()); final QuestState qs = creature.getActingPlayer().getQuestState(Q10301_ShadowOfTerrorBlackishRedFog.class.getSimpleName());
@@ -129,7 +126,6 @@ public class AncientArcanCity extends AbstractNpcAI
{ {
player.sendPacket(new OnEventTrigger(262001, !isCeremonyRunning)); player.sendPacket(new OnEventTrigger(262001, !isCeremonyRunning));
player.sendPacket(new OnEventTrigger(262003, isCeremonyRunning)); player.sendPacket(new OnEventTrigger(262003, isCeremonyRunning));
if (player.getVariables().getBoolean("ANCIENT_ARCAN_CITY_SCENE", true)) if (player.getVariables().getBoolean("ANCIENT_ARCAN_CITY_SCENE", true))
{ {
player.getVariables().set("ANCIENT_ARCAN_CITY_SCENE", false); player.getVariables().set("ANCIENT_ARCAN_CITY_SCENE", false);
@@ -151,7 +147,6 @@ public class AncientArcanCity extends AbstractNpcAI
// { // {
// _templates.remove(template); // _templates.remove(template);
// } // }
@Override @Override
public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc) public void onSpawnNpc(SpawnTemplate template, SpawnGroup group, Npc npc)
{ {

View File

@@ -45,7 +45,6 @@ public class Lykus extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "33521-01.html": case "33521-01.html":
@@ -65,7 +64,6 @@ public class Lykus extends AbstractNpcAI
if (event.startsWith("trade")) if (event.startsWith("trade"))
{ {
final int count = (int) (event.equals("trade1") ? 1 : getQuestItemsCount(player, OLD_SHIELD)); final int count = (int) (event.equals("trade1") ? 1 : getQuestItemsCount(player, OLD_SHIELD));
if (!hasAtLeastOneQuestItem(player, OLD_SHIELD)) if (!hasAtLeastOneQuestItem(player, OLD_SHIELD))
{ {
htmltext = "33521-11.html"; htmltext = "33521-11.html";

View File

@@ -61,7 +61,6 @@ public class BabyPets extends AbstractNpcAI
if (event.equals("HEAL") && (player != null)) if (event.equals("HEAL") && (player != null))
{ {
final Summon summon = player.getPet(); final Summon summon = player.getPet();
if (summon != null) if (summon != null)
{ {
if (getRandom(100) <= 25) if (getRandom(100) <= 25)
@@ -105,12 +104,10 @@ public class BabyPets extends AbstractNpcAI
{ {
final boolean previousFollowStatus = summon.getFollowStatus(); final boolean previousFollowStatus = summon.getFollowStatus();
final PlayerInstance owner = summon.getOwner(); final PlayerInstance owner = summon.getOwner();
if (!owner.isDead() && (((owner.getCurrentHp() / owner.getMaxHp()) * 100) < maxHpPer) && !summon.isHungry() && SkillCaster.checkUseConditions(summon, skill.getSkill())) if (!owner.isDead() && (((owner.getCurrentHp() / owner.getMaxHp()) * 100) < maxHpPer) && !summon.isHungry() && SkillCaster.checkUseConditions(summon, skill.getSkill()))
{ {
summon.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, skill.getSkill(), owner); summon.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, skill.getSkill(), owner);
summon.sendPacket(new SystemMessage(SystemMessageId.YOUR_PET_USES_S1).addSkillName(skill.getSkill())); summon.sendPacket(new SystemMessage(SystemMessageId.YOUR_PET_USES_S1).addSkillName(skill.getSkill()));
if (previousFollowStatus != summon.getFollowStatus()) if (previousFollowStatus != summon.getFollowStatus())
{ {
summon.setFollowStatus(previousFollowStatus); summon.setFollowStatus(previousFollowStatus);

View File

@@ -243,7 +243,6 @@ public class BeastFarm extends AbstractNpcAI
if (CommonUtil.contains(TAMED_BEASTS, nextNpcId)) if (CommonUtil.contains(TAMED_BEASTS, nextNpcId))
{ {
final TamedBeastInstance nextNpc = new TamedBeastInstance(nextNpcId, player, food, npc.getX(), npc.getY(), npc.getZ(), true); final TamedBeastInstance nextNpc = new TamedBeastInstance(nextNpcId, player, food, npc.getX(), npc.getY(), npc.getZ(), true);
final TamedBeast beast = getRandomEntry(TAMED_BEAST_DATA); final TamedBeast beast = getRandomEntry(TAMED_BEAST_DATA);
String name = beast.getName(); String name = beast.getName();
switch (nextNpcId) switch (nextNpcId)
@@ -292,7 +291,6 @@ public class BeastFarm extends AbstractNpcAI
nextNpc.setRunning(); nextNpc.setRunning();
nextNpc.addDamageHate(player, 0, 99999); nextNpc.addDamageHate(player, 0, 99999);
nextNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); nextNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
player.setTarget(nextNpc); player.setTarget(nextNpc);
} }
} }

View File

@@ -187,7 +187,6 @@ public class FeedableBeasts extends AbstractNpcAI
final int[][] Kookabura_1_Crystal_2 = {{ 21465, 21467 }}; final int[][] Kookabura_1_Crystal_2 = {{ 21465, 21467 }};
final int[][] Kookabura_2_1 = {{ 21468, 21824}, { TRAINED_KOOKABURRA1, TRAINED_KOOKABURRA2 }}; final int[][] Kookabura_2_1 = {{ 21468, 21824}, { TRAINED_KOOKABURRA1, TRAINED_KOOKABURRA2 }};
final int[][] Kookabura_2_2 = {{ 21469, 21825}, { TRAINED_KOOKABURRA1, TRAINED_KOOKABURRA2 }}; final int[][] Kookabura_2_2 = {{ 21469, 21825}, { TRAINED_KOOKABURRA1, TRAINED_KOOKABURRA2 }};
final int[][] Buffalo_0_Gold = {{ 21471, 21472, 21473, 21474 }}; final int[][] Buffalo_0_Gold = {{ 21471, 21472, 21473, 21474 }};
final int[][] Buffalo_0_Crystal = {{ 21475, 21476, 21477, 21478 }}; final int[][] Buffalo_0_Crystal = {{ 21475, 21476, 21477, 21478 }};
final int[][] Buffalo_1_Gold_1 = {{ 21479, 21481 }}; final int[][] Buffalo_1_Gold_1 = {{ 21479, 21481 }};
@@ -196,7 +195,6 @@ public class FeedableBeasts extends AbstractNpcAI
final int[][] Buffalo_1_Crystal_2 = {{ 21484, 21486 }}; final int[][] Buffalo_1_Crystal_2 = {{ 21484, 21486 }};
final int[][] Buffalo_2_1 = {{ 21487, 21826}, {TRAINED_BUFFALO1, TRAINED_BUFFALO2 }}; final int[][] Buffalo_2_1 = {{ 21487, 21826}, {TRAINED_BUFFALO1, TRAINED_BUFFALO2 }};
final int[][] Buffalo_2_2 = {{ 21488, 21827}, {TRAINED_BUFFALO1, TRAINED_BUFFALO2 }}; final int[][] Buffalo_2_2 = {{ 21488, 21827}, {TRAINED_BUFFALO1, TRAINED_BUFFALO2 }};
final int[][] Cougar_0_Gold = {{ 21490, 21491, 21492, 21493 }}; final int[][] Cougar_0_Gold = {{ 21490, 21491, 21492, 21493 }};
final int[][] Cougar_0_Crystal = {{ 21494, 21495, 21496, 21497 }}; final int[][] Cougar_0_Crystal = {{ 21494, 21495, 21496, 21497 }};
final int[][] Cougar_1_Gold_1 = {{ 21498, 21500 }}; final int[][] Cougar_1_Gold_1 = {{ 21498, 21500 }};
@@ -451,7 +449,6 @@ public class FeedableBeasts extends AbstractNpcAI
// if not trained, the newly spawned mob will automatically be aggro against its feeder // if not trained, the newly spawned mob will automatically be aggro against its feeder
// (what happened to "never bite the hand that feeds you" anyway?!) // (what happened to "never bite the hand that feeds you" anyway?!)
final Attackable nextNpc = (Attackable) addSpawn(nextNpcId, npc); final Attackable nextNpc = (Attackable) addSpawn(nextNpcId, npc);
if (MAD_COW_POLYMORPH.containsKey(nextNpcId)) if (MAD_COW_POLYMORPH.containsKey(nextNpcId))
{ {
startQuestTimer("polymorph Mad Cow", 10000, nextNpc, player); startQuestTimer("polymorph Mad Cow", 10000, nextNpc, player);

View File

@@ -61,7 +61,6 @@ public class ImprovedBabyPets extends AbstractNpcAI
if (player != null) if (player != null)
{ {
final Summon summon = player.getPet(); final Summon summon = player.getPet();
if (summon == null) if (summon == null)
{ {
cancelQuestTimer("HEAL", null, player); cancelQuestTimer("HEAL", null, player);
@@ -73,11 +72,9 @@ public class ImprovedBabyPets extends AbstractNpcAI
final double mpPer = (player.getCurrentMp() / player.getMaxMp()) * 100; final double mpPer = (player.getCurrentMp() / player.getMaxMp()) * 100;
final int healType = summon.getTemplate().getParameters().getInt("heal_type", 0); final int healType = summon.getTemplate().getParameters().getInt("heal_type", 0);
final int skillLv = (int) Math.floor((summon.getLevel() / 5) - 11); final int skillLv = (int) Math.floor((summon.getLevel() / 5) - 11);
if (healType == 1) if (healType == 1)
{ {
final int stepLv = CommonUtil.constrain(skillLv, 0, 3); final int stepLv = CommonUtil.constrain(skillLv, 0, 3);
if ((hpPer >= 30) && (hpPer < 70)) if ((hpPer >= 30) && (hpPer < 70))
{ {
castHeal(summon, stepLv, 1); castHeal(summon, stepLv, 1);
@@ -102,7 +99,6 @@ public class ImprovedBabyPets extends AbstractNpcAI
else if (event.equals("BUFF") && !summon.isAffectedBySkill(PET_CONTROL) && !summon.isHungry()) else if (event.equals("BUFF") && !summon.isAffectedBySkill(PET_CONTROL) && !summon.isHungry())
{ {
final int buffStep = (int) CommonUtil.constrain(Math.floor((summon.getLevel() / 5) - 11), 0, 3); final int buffStep = (int) CommonUtil.constrain(Math.floor((summon.getLevel() / 5) - 11), 0, 3);
for (int i = 1; i <= (2 * (1 + buffStep)); i++) for (int i = 1; i <= (2 * (1 + buffStep)); i++)
{ {
if (castBuff(summon, buffStep, i)) if (castBuff(summon, buffStep, i))
@@ -135,13 +131,11 @@ public class ImprovedBabyPets extends AbstractNpcAI
final PlayerInstance owner = summon.getOwner(); final PlayerInstance owner = summon.getOwner();
final StatSet parameters = summon.getTemplate().getParameters(); final StatSet parameters = summon.getTemplate().getParameters();
final SkillHolder skill = parameters.getObject("step" + stepNumber + "_buff0" + buffNumber, SkillHolder.class); final SkillHolder skill = parameters.getObject("step" + stepNumber + "_buff0" + buffNumber, SkillHolder.class);
if ((skill != null) && (owner != null)) if ((skill != null) && (owner != null))
{ {
final boolean previousFollowStatus = summon.getFollowStatus(); final boolean previousFollowStatus = summon.getFollowStatus();
final SkillHolder mergedSkill = parameters.getObject("step" + stepNumber + "_merged_buff0" + buffNumber, SkillHolder.class); final SkillHolder mergedSkill = parameters.getObject("step" + stepNumber + "_merged_buff0" + buffNumber, SkillHolder.class);
final int targetType = parameters.getInt("step" + stepNumber + "_buff_target0" + buffNumber, 0); final int targetType = parameters.getInt("step" + stepNumber + "_buff_target0" + buffNumber, 0);
if (!owner.hasAbnormalType(skill.getSkill().getAbnormalType()) && SkillCaster.checkUseConditions(summon, skill.getSkill()) && !owner.isDead()) if (!owner.hasAbnormalType(skill.getSkill().getAbnormalType()) && SkillCaster.checkUseConditions(summon, skill.getSkill()) && !owner.isDead())
{ {
if ((mergedSkill != null) && owner.hasAbnormalType(mergedSkill.getSkill().getAbnormalType())) if ((mergedSkill != null) && owner.hasAbnormalType(mergedSkill.getSkill().getAbnormalType()))
@@ -158,7 +152,6 @@ public class ImprovedBabyPets extends AbstractNpcAI
{ {
summon.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, skill.getSkill(), (targetType == 1) ? summon : owner); summon.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, skill.getSkill(), (targetType == 1) ? summon : owner);
summon.sendPacket(new SystemMessage(SystemMessageId.YOUR_PET_USES_S1).addSkillName(skill.getSkill())); summon.sendPacket(new SystemMessage(SystemMessageId.YOUR_PET_USES_S1).addSkillName(skill.getSkill()));
if (previousFollowStatus != summon.getFollowStatus()) if (previousFollowStatus != summon.getFollowStatus())
{ {
summon.setFollowStatus(previousFollowStatus); summon.setFollowStatus(previousFollowStatus);
@@ -177,7 +170,6 @@ public class ImprovedBabyPets extends AbstractNpcAI
final StatSet parameters = summon.getTemplate().getParameters(); final StatSet parameters = summon.getTemplate().getParameters();
final SkillHolder skill = parameters.getObject("step" + stepNumber + "_heal0" + healNumber, SkillHolder.class); final SkillHolder skill = parameters.getObject("step" + stepNumber + "_heal0" + healNumber, SkillHolder.class);
final int targetType = parameters.getInt("step" + stepNumber + "_heal_target0" + healNumber, 0); final int targetType = parameters.getInt("step" + stepNumber + "_heal_target0" + healNumber, 0);
if ((skill != null) && (owner != null) && SkillCaster.checkUseConditions(summon, skill.getSkill()) && !owner.isDead()) if ((skill != null) && (owner != null) && SkillCaster.checkUseConditions(summon, skill.getSkill()) && !owner.isDead())
{ {
if (!previousFollowStatus && !summon.isInsideRadius3D(owner, skill.getSkill().getCastRange())) if (!previousFollowStatus && !summon.isInsideRadius3D(owner, skill.getSkill().getCastRange()))
@@ -189,7 +181,6 @@ public class ImprovedBabyPets extends AbstractNpcAI
{ {
summon.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, skill.getSkill(), (targetType == 1) ? summon : owner); summon.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, skill.getSkill(), (targetType == 1) ? summon : owner);
summon.sendPacket(new SystemMessage(SystemMessageId.YOUR_PET_USES_S1).addSkillName(skill.getSkill())); summon.sendPacket(new SystemMessage(SystemMessageId.YOUR_PET_USES_S1).addSkillName(skill.getSkill()));
if (previousFollowStatus != summon.getFollowStatus()) if (previousFollowStatus != summon.getFollowStatus())
{ {
summon.setFollowStatus(previousFollowStatus); summon.setFollowStatus(previousFollowStatus);

View File

@@ -45,7 +45,6 @@ public class Tunatun extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = getNoQuestMsg(player); String htmltext = getNoQuestMsg(player);
switch (event) switch (event)
{ {
case "31537-04.html": case "31537-04.html":

View File

@@ -69,7 +69,6 @@ public class DragonVortex extends AbstractNpcAI
takeItems(player, LARGE_DRAGON_BONE, 1); takeItems(player, LARGE_DRAGON_BONE, 1);
final int random = getRandom(100); final int random = getRandom(100);
int raid = 0; int raid = 0;
if (random < 3) if (random < 3)
{ {
raid = RAIDS[6]; // Muscle Bomber raid = RAIDS[6]; // Muscle Bomber

View File

@@ -87,7 +87,6 @@ public class Wisp extends AbstractNpcAI
{ {
final Creature creature = event.getSeen(); final Creature creature = event.getSeen();
final Npc npc = (Npc) event.getSeer(); final Npc npc = (Npc) event.getSeer();
if (creature.isPlayer() || creature.isFakePlayer()) if (creature.isPlayer() || creature.isFakePlayer())
{ {
npc.setTarget(creature); npc.setTarget(creature);

View File

@@ -79,7 +79,6 @@ public class HandysBlockCheckerEvent extends AbstractNpcAI
final int countBlue = holder.getBlueTeamSize(); final int countBlue = holder.getBlueTeamSize();
final int countRed = holder.getRedTeamSize(); final int countRed = holder.getRedTeamSize();
final int minMembers = Config.MIN_BLOCK_CHECKER_TEAM_MEMBERS; final int minMembers = Config.MIN_BLOCK_CHECKER_TEAM_MEMBERS;
if ((countBlue >= minMembers) && (countRed >= minMembers)) if ((countBlue >= minMembers) && (countRed >= minMembers))
{ {
holder.updateEvent(); holder.updateEvent();

View File

@@ -165,7 +165,6 @@ public class Parade extends AbstractNpcAI
{ {
dd += 86400; dd += 86400;
} }
return (dd * 1000) / 6; return (dd * 1000) / 6;
} }

View File

@@ -50,7 +50,6 @@ public class FrozenLabyrinth extends AbstractNpcAI
{ {
final int x = diff < 60 ? npc.getX() + diff : npc.getX(); final int x = diff < 60 ? npc.getX() + diff : npc.getX();
final int y = diff >= 60 ? npc.getY() + (diff - 40) : npc.getY(); final int y = diff >= 60 ? npc.getY() + (diff - 40) : npc.getY();
final Npc monster = addSpawn(spawnId, x, y, npc.getZ(), npc.getHeading(), false, 0); final Npc monster = addSpawn(spawnId, x, y, npc.getZ(), npc.getHeading(), false, 0);
addAttackPlayerDesire(monster, attacker); addAttackPlayerDesire(monster, attacker);
diff += 20; diff += 20;

View File

@@ -92,7 +92,6 @@ public class HotSprings extends AbstractNpcAI
final BuffInfo info = creature.getEffectList().getBuffInfoBySkillId(diseaseId); final BuffInfo info = creature.getEffectList().getBuffInfoBySkillId(diseaseId);
final int skillLevel = (info == null) ? 1 : (info.getSkill().getLevel() < 10) ? info.getSkill().getLevel() + 1 : 10; final int skillLevel = (info == null) ? 1 : (info.getSkill().getLevel() < 10) ? info.getSkill().getLevel() + 1 : 10;
final Skill skill = SkillData.getInstance().getSkill(diseaseId, skillLevel); final Skill skill = SkillData.getInstance().getSkill(diseaseId, skillLevel);
if ((skill != null) && SkillCaster.checkUseConditions(npc, skill)) if ((skill != null) && SkillCaster.checkUseConditions(npc, skill))
{ {
npc.setTarget(creature); npc.setTarget(creature);

View File

@@ -478,7 +478,6 @@ public class FourSepulchers extends AbstractNpcAI implements IXmlReader
private void tryEnter(Npc npc, PlayerInstance player) private void tryEnter(Npc npc, PlayerInstance player)
{ {
final int npcId = npc.getId(); final int npcId = npc.getId();
if (!ZoneManager.getInstance().getZoneById(MANAGER_ZONES.get(npcId)).getPlayersInside().isEmpty()) if (!ZoneManager.getInstance().getZoneById(MANAGER_ZONES.get(npcId)).getPlayersInside().isEmpty())
{ {
showHtmlFile(player, npcId + "-FULL.htm", npc, null); showHtmlFile(player, npcId + "-FULL.htm", npc, null);

View File

@@ -106,7 +106,6 @@ public class DarkWaterDragon extends AbstractNpcAI
cancelQuestTimer("2", npc, null); cancelQuestTimer("2", npc, null);
cancelQuestTimer("3", npc, null); cancelQuestTimer("3", npc, null);
cancelQuestTimer("4", npc, null); cancelQuestTimer("4", npc, null);
MY_TRACKING_SET.remove(npc.getObjectId()); MY_TRACKING_SET.remove(npc.getObjectId());
player = ID_MAP.remove(npc.getObjectId()); player = ID_MAP.remove(npc.getObjectId());
if (player != null) if (player != null)

View File

@@ -68,7 +68,6 @@ public class Rignos extends AbstractNpcAI
TIMER.getSkill().applyEffects(pet, pet); TIMER.getSkill().applyEffects(pet, pet);
} }
player.getServitors().values().forEach(s -> TIMER.getSkill().applyEffects(s, s)); player.getServitors().values().forEach(s -> TIMER.getSkill().applyEffects(s, s));
if (hasQuestItems(player, STAMP)) if (hasQuestItems(player, STAMP))
{ {
takeItems(player, STAMP, -1); takeItems(player, STAMP, -1);

View File

@@ -125,7 +125,6 @@ public class AvantGarde extends AbstractNpcAI
public static void showTransformSkillList(PlayerInstance player) public static void showTransformSkillList(PlayerInstance player)
{ {
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableTransformSkills(player); final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableTransformSkills(player);
if (skills.isEmpty()) if (skills.isEmpty())
{ {
final int minlevel = SkillTreeData.getInstance().getMinLevelForNewSkill(player, SkillTreeData.getInstance().getTransformSkillTree()); final int minlevel = SkillTreeData.getInstance().getMinLevelForNewSkill(player, SkillTreeData.getInstance().getTransformSkillTree());

View File

@@ -89,7 +89,6 @@ public class LindviorScene extends AbstractNpcAI
_lindviorCamera = SpawnTable.getInstance().getAnySpawn(LINDVIOR_CAMERA).getLastSpawn(); _lindviorCamera = SpawnTable.getInstance().getAnySpawn(LINDVIOR_CAMERA).getLastSpawn();
_tomaris = SpawnTable.getInstance().getAnySpawn(TOMARIS).getLastSpawn(); _tomaris = SpawnTable.getInstance().getAnySpawn(TOMARIS).getLastSpawn();
_artius = SpawnTable.getInstance().getAnySpawn(ARTIUS).getLastSpawn(); _artius = SpawnTable.getInstance().getAnySpawn(ARTIUS).getLastSpawn();
startQuestTimer("tomaris_shout1", 1000, _tomaris, null); startQuestTimer("tomaris_shout1", 1000, _tomaris, null);
startQuestTimer("artius_shout", 60000, _artius, null); startQuestTimer("artius_shout", 60000, _artius, null);
startQuestTimer("tomaris_shout2", 90000, _tomaris, null); startQuestTimer("tomaris_shout2", 90000, _tomaris, null);

View File

@@ -112,7 +112,6 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI
if (event.equals("LOOP_TIMER")) if (event.equals("LOOP_TIMER"))
{ {
final int currentTemplateId = getCurrentInstanceTemplateId(); final int currentTemplateId = getCurrentInstanceTemplateId();
World.getInstance().forEachVisibleObjectInRange(npc, PlayerInstance.class, 500, p -> updateTriggersForPlayer(player, currentTemplateId)); World.getInstance().forEachVisibleObjectInRange(npc, PlayerInstance.class, 500, p -> updateTriggersForPlayer(player, currentTemplateId));
} }
} }

View File

@@ -65,7 +65,6 @@ public class AltarOfSacrifice extends AbstractNpcAI
sendMessage(_giggle, NpcStringId.IT_JUST_GOES_TO_SHOW_HOW_IMPORTANT_AND_DIFFICULT_IT_IS_TO_ACTIVATE_THE_SEAL_DEVICE, 109000); // It just goes to show how important and difficult it is to activate the Seal Device! sendMessage(_giggle, NpcStringId.IT_JUST_GOES_TO_SHOW_HOW_IMPORTANT_AND_DIFFICULT_IT_IS_TO_ACTIVATE_THE_SEAL_DEVICE, 109000); // It just goes to show how important and difficult it is to activate the Seal Device!
sendMessage(_immerial, NpcStringId.THIS_HAS_BEEN_TOO_TAXING_ON_US_ALL, 119000); // This has been too taxing on us all. sendMessage(_immerial, NpcStringId.THIS_HAS_BEEN_TOO_TAXING_ON_US_ALL, 119000); // This has been too taxing on us all.
sendMessage(_immerial, NpcStringId.WE_NEED_A_NEW_SOUL_THAT_CAN_MAINTAIN_THE_SEAL, 126000); // We need a new soul that can maintain the seal. sendMessage(_immerial, NpcStringId.WE_NEED_A_NEW_SOUL_THAT_CAN_MAINTAIN_THE_SEAL, 126000); // We need a new soul that can maintain the seal.
startQuestTimer("msg_text", 135000, npc, null); startQuestTimer("msg_text", 135000, npc, null);
_jenas_guard.setScriptValue(0); _jenas_guard.setScriptValue(0);
} }

View File

@@ -172,11 +172,9 @@ public class Maguen extends AbstractNpcAI
final BuffInfo bInfo = player.getEffectList().getFirstBuffInfoByAbnormalType(B_PLASMA1.getSkill().getAbnormalType()); final BuffInfo bInfo = player.getEffectList().getFirstBuffInfoByAbnormalType(B_PLASMA1.getSkill().getAbnormalType());
final BuffInfo cInfo = player.getEffectList().getFirstBuffInfoByAbnormalType(C_PLASMA1.getSkill().getAbnormalType()); final BuffInfo cInfo = player.getEffectList().getFirstBuffInfoByAbnormalType(C_PLASMA1.getSkill().getAbnormalType());
final BuffInfo rInfo = player.getEffectList().getFirstBuffInfoByAbnormalType(R_PLASMA1.getSkill().getAbnormalType()); final BuffInfo rInfo = player.getEffectList().getFirstBuffInfoByAbnormalType(R_PLASMA1.getSkill().getAbnormalType());
final int b = bInfo == null ? 0 : bInfo.getSkill().getAbnormalLvl(); final int b = bInfo == null ? 0 : bInfo.getSkill().getAbnormalLvl();
final int c = cInfo == null ? 0 : cInfo.getSkill().getAbnormalLvl(); final int c = cInfo == null ? 0 : cInfo.getSkill().getAbnormalLvl();
final int r = rInfo == null ? 0 : rInfo.getSkill().getAbnormalLvl(); final int r = rInfo == null ? 0 : rInfo.getSkill().getAbnormalLvl();
if ((b == 3) && (c == 0) && (r == 0)) if ((b == 3) && (c == 0) && (r == 0))
{ {
showOnScreenMsg(player, NpcStringId.ENOUGH_MAGUEN_PLASMA_BISTAKON_HAVE_GATHERED, 2, 4000); showOnScreenMsg(player, NpcStringId.ENOUGH_MAGUEN_PLASMA_BISTAKON_HAVE_GATHERED, 2, 4000);
@@ -264,11 +262,9 @@ public class Maguen extends AbstractNpcAI
final BuffInfo i1Info = caster.getEffectList().getFirstBuffInfoByAbnormalType(B_PLASMA1.getSkill().getAbnormalType()); final BuffInfo i1Info = caster.getEffectList().getFirstBuffInfoByAbnormalType(B_PLASMA1.getSkill().getAbnormalType());
final BuffInfo i2Info = caster.getEffectList().getFirstBuffInfoByAbnormalType(C_PLASMA1.getSkill().getAbnormalType()); final BuffInfo i2Info = caster.getEffectList().getFirstBuffInfoByAbnormalType(C_PLASMA1.getSkill().getAbnormalType());
final BuffInfo i3Info = caster.getEffectList().getFirstBuffInfoByAbnormalType(R_PLASMA1.getSkill().getAbnormalType()); final BuffInfo i3Info = caster.getEffectList().getFirstBuffInfoByAbnormalType(R_PLASMA1.getSkill().getAbnormalType());
final int i1 = i1Info == null ? 0 : i1Info.getSkill().getAbnormalLvl(); final int i1 = i1Info == null ? 0 : i1Info.getSkill().getAbnormalLvl();
final int i2 = i2Info == null ? 0 : i2Info.getSkill().getAbnormalLvl(); final int i2 = i2Info == null ? 0 : i2Info.getSkill().getAbnormalLvl();
final int i3 = i3Info == null ? 0 : i3Info.getSkill().getAbnormalLvl(); final int i3 = i3Info == null ? 0 : i3Info.getSkill().getAbnormalLvl();
caster.getEffectList().stopEffects(B_PLASMA1.getSkill().getAbnormalType()); caster.getEffectList().stopEffects(B_PLASMA1.getSkill().getAbnormalType());
caster.getEffectList().stopEffects(C_PLASMA1.getSkill().getAbnormalType()); caster.getEffectList().stopEffects(C_PLASMA1.getSkill().getAbnormalType());
caster.getEffectList().stopEffects(R_PLASMA1.getSkill().getAbnormalType()); caster.getEffectList().stopEffects(R_PLASMA1.getSkill().getAbnormalType());
@@ -277,7 +273,6 @@ public class Maguen extends AbstractNpcAI
cancelQuestTimer("THIRD_TIMER", npc, caster); cancelQuestTimer("THIRD_TIMER", npc, caster);
cancelQuestTimer("FORTH_TIMER", npc, caster); cancelQuestTimer("FORTH_TIMER", npc, caster);
npc.getVariables().set("BLOCKED_SKILLSEE", 1); npc.getVariables().set("BLOCKED_SKILLSEE", 1);
SkillHolder skillToCast = null; SkillHolder skillToCast = null;
switch (npc.getVariables().getInt("NPC_EFFECT")) switch (npc.getVariables().getInt("NPC_EFFECT"))
{ {
@@ -365,7 +360,6 @@ public class Maguen extends AbstractNpcAI
{ {
final PlayerInstance partyMember = getRandomPartyMember(killer); final PlayerInstance partyMember = getRandomPartyMember(killer);
final int i0 = 10 + (10 * killer.getParty().getMemberCount()); final int i0 = 10 + (10 * killer.getParty().getMemberCount());
if ((getRandom(1000) < i0) && (npc.calculateDistance3D(killer) < 2000) && (npc.calculateDistance3D(partyMember) < 2000)) if ((getRandom(1000) < i0) && (npc.calculateDistance3D(killer) < 2000) && (npc.calculateDistance3D(partyMember) < 2000))
{ {
notifyEvent("SPAWN_MAGUEN", npc, partyMember); notifyEvent("SPAWN_MAGUEN", npc, partyMember);

View File

@@ -308,7 +308,6 @@ public class SeedOfAnnihilation extends AbstractNpcAI
for (int i = 0; i < _regionsData.length; i++) for (int i = 0; i < _regionsData.length; i++)
{ {
_regionsData[i].activeBuff = ZONE_BUFFS_LIST[buffsNow][i]; _regionsData[i].activeBuff = ZONE_BUFFS_LIST[buffsNow][i];
for (Npc af : _regionsData[i].af_npcs) for (Npc af : _regionsData[i].af_npcs)
{ {
af.setDisplayEffect(_regionsData[i].activeBuff); af.setDisplayEffect(_regionsData[i].activeBuff);

View File

@@ -285,7 +285,6 @@ public class SelMahumDrill extends AbstractNpcAI
} }
final int socialActionId = (npc.getVariables().getInt("SOCIAL_ACTION_ALT_BEHAVIOR") == 0) ? action.getSocialActionId() : action.getAltSocialActionId(); final int socialActionId = (npc.getVariables().getInt("SOCIAL_ACTION_ALT_BEHAVIOR") == 0) ? action.getSocialActionId() : action.getAltSocialActionId();
if (socialActionId < 0) if (socialActionId < 0)
{ {
return; return;

View File

@@ -98,7 +98,6 @@ public class StakatoNest extends AbstractNpcAI
if (follower != null) if (follower != null)
{ {
final double _hp = follower.getCurrentHp(); final double _hp = follower.getCurrentHp();
if (_hp > (follower.getMaxHp() * 0.3)) if (_hp > (follower.getMaxHp() * 0.3))
{ {
mob.abortAttack(); mob.abortAttack();

View File

@@ -52,11 +52,9 @@ public class StakatoNestTeleporter extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
final int index = Integer.parseInt(event) - 1; final int index = Integer.parseInt(event) - 1;
if (LOCS.length > index) if (LOCS.length > index)
{ {
final Location loc = LOCS[index]; final Location loc = LOCS[index];
if (player.getParty() != null) if (player.getParty() != null)
{ {
for (PlayerInstance partyMember : player.getParty().getMembers()) for (PlayerInstance partyMember : player.getParty().getMembers())

View File

@@ -262,7 +262,6 @@ public class AwakeningMaster extends AbstractNpcAI
public void OnPlayerChangeToAwakenedClass(OnPlayerChangeToAwakenedClass event) public void OnPlayerChangeToAwakenedClass(OnPlayerChangeToAwakenedClass event)
{ {
final PlayerInstance player = event.getPlayer(); final PlayerInstance player = event.getPlayer();
if (player.isSubClassActive() && !player.isDualClassActive()) if (player.isSubClassActive() && !player.isDualClassActive())
{ {
return; return;
@@ -339,7 +338,6 @@ public class AwakeningMaster extends AbstractNpcAI
} }
} }
giveItems(player, player.isDualClassActive() ? CHAOS_POMANDER_DUAL_CLASS : CHAOS_POMANDER, 2); giveItems(player, player.isDualClassActive() ? CHAOS_POMANDER_DUAL_CLASS : CHAOS_POMANDER, 2);
SkillTreeData.getInstance().cleanSkillUponAwakening(player); SkillTreeData.getInstance().cleanSkillUponAwakening(player);
for (SkillLearn skill : SkillTreeData.getInstance().getRaceSkillTree(player.getRace())) for (SkillLearn skill : SkillTreeData.getInstance().getRaceSkillTree(player.getRace()))
{ {

View File

@@ -44,7 +44,6 @@ public class Galad extends AbstractNpcAI
{ {
npc.broadcastSocialAction(3); npc.broadcastSocialAction(3);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.OCCASIONALLY_RARE_JEWELS_OF_GIANTS_ARE_DISCOVERED_IN_THE_BEACH, 1000); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.OCCASIONALLY_RARE_JEWELS_OF_GIANTS_ARE_DISCOVERED_IN_THE_BEACH, 1000);
} }
return super.onAdvEvent(event, npc, player); return super.onAdvEvent(event, npc, player);
} }

View File

@@ -60,7 +60,6 @@ public class GiantSoldiers extends AbstractNpcAI
} }
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "CHAT_MESSAGE_1A": case "CHAT_MESSAGE_1A":

View File

@@ -44,7 +44,6 @@ public class GuardSoldier extends AbstractNpcAI
{ {
npc.broadcastSocialAction(3); npc.broadcastSocialAction(3);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LADY_YOU_MUST_GO_IN, 1000); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.LADY_YOU_MUST_GO_IN, 1000);
} }
else if (event.equals("SOCIAL_ACTION") && (npc != null)) else if (event.equals("SOCIAL_ACTION") && (npc != null))
{ {

View File

@@ -46,7 +46,6 @@ public class Hadel extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "33344.html": case "33344.html":

View File

@@ -67,7 +67,6 @@ public class MonkOfChaos extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "33880-1.html": case "33880-1.html":

View File

@@ -198,7 +198,6 @@ public class Raina extends AbstractNpcAI
final Set<ClassId> availSubs = getAvailableSubClasses(player); final Set<ClassId> availSubs = getAvailableSubClasses(player);
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "subclassList.html"); final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "subclassList.html");
if ((availSubs == null) || availSubs.isEmpty()) if ((availSubs == null) || availSubs.isEmpty())
{ {
break; break;
@@ -244,7 +243,6 @@ public class Raina extends AbstractNpcAI
{ {
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "subclassRemoveList.html"); final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "subclassRemoveList.html");
for (SubClass subClass : player.getSubClasses().values()) for (SubClass subClass : player.getSubClasses().values())
{ {
if (subClass != null) if (subClass != null)
@@ -320,7 +318,6 @@ public class Raina extends AbstractNpcAI
} }
final CategoryType cType = CategoryType.valueOf(event.replace("addDualClass_", "")); final CategoryType cType = CategoryType.valueOf(event.replace("addDualClass_", ""));
if (cType == null) if (cType == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": Cannot parse CategoryType, event: " + event); LOGGER.warning(getClass().getSimpleName() + ": Cannot parse CategoryType, event: " + event);
@@ -328,7 +325,6 @@ public class Raina extends AbstractNpcAI
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "addDualClassErtheiaList.html"); final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "addDualClassErtheiaList.html");
for (ClassId dualClasses : getDualClasses(player, cType)) for (ClassId dualClasses : getDualClasses(player, cType))
{ {
if (dualClasses != null) if (dualClasses != null)
@@ -405,7 +401,6 @@ public class Raina extends AbstractNpcAI
case "reawaken_SIXTH_EOLH_GROUP": case "reawaken_SIXTH_EOLH_GROUP":
{ {
final CategoryType cType = CategoryType.valueOf(event.replace("reawaken_", "")); final CategoryType cType = CategoryType.valueOf(event.replace("reawaken_", ""));
if (cType == null) if (cType == null)
{ {
LOGGER.warning(getClass().getSimpleName() + ": Cannot parse CategoryType, event: " + event); LOGGER.warning(getClass().getSimpleName() + ": Cannot parse CategoryType, event: " + event);
@@ -413,7 +408,6 @@ public class Raina extends AbstractNpcAI
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "reawakenClassList.html"); final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "reawakenClassList.html");
for (ClassId dualClasses : getDualClasses(player, cType)) for (ClassId dualClasses : getDualClasses(player, cType))
{ {
if (dualClasses != null) if (dualClasses != null)
@@ -484,7 +478,6 @@ public class Raina extends AbstractNpcAI
final int classId = event.getReply(); final int classId = event.getReply();
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "addConfirm.html"); final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "addConfirm.html");
if (!isValidNewSubClass(player, classId)) if (!isValidNewSubClass(player, classId))
{ {
return; return;
@@ -521,7 +514,6 @@ public class Raina extends AbstractNpcAI
final Set<ClassId> availSubs = getAvailableSubClasses(player); final Set<ClassId> availSubs = getAvailableSubClasses(player);
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "removeSubclassList.html"); final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "removeSubclassList.html");
if ((availSubs == null) || availSubs.isEmpty()) if ((availSubs == null) || availSubs.isEmpty())
{ {
return; return;
@@ -673,9 +665,7 @@ public class Raina extends AbstractNpcAI
final int currentBaseId = player.getBaseClass(); final int currentBaseId = player.getBaseClass();
final ClassId baseCID = ClassId.getClassId(currentBaseId); final ClassId baseCID = ClassId.getClassId(currentBaseId);
final int baseClassId = (CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.FIFTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, baseCID.getId())) ? baseCID.getParent().getId() : currentBaseId; final int baseClassId = (CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.FIFTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, baseCID.getId())) ? baseCID.getParent().getId() : currentBaseId;
final Set<ClassId> availSubs = getSubclasses(player, baseClassId); final Set<ClassId> availSubs = getSubclasses(player, baseClassId);
if ((availSubs != null) && !availSubs.isEmpty()) if ((availSubs != null) && !availSubs.isEmpty())
{ {
for (ClassId pclass : availSubs) for (ClassId pclass : availSubs)
@@ -683,11 +673,9 @@ public class Raina extends AbstractNpcAI
// scan for already used subclasses // scan for already used subclasses
final int availClassId = pclass.getId(); final int availClassId = pclass.getId();
final ClassId cid = ClassId.getClassId(availClassId); final ClassId cid = ClassId.getClassId(availClassId);
for (SubClass subList : player.getSubClasses().values()) for (SubClass subList : player.getSubClasses().values())
{ {
final ClassId subId = ClassId.getClassId(subList.getClassId()); final ClassId subId = ClassId.getClassId(subList.getClassId());
if (subId.equalsOrChildOf(cid)) if (subId.equalsOrChildOf(cid))
{ {
availSubs.remove(cid); availSubs.remove(cid);
@@ -718,7 +706,6 @@ public class Raina extends AbstractNpcAI
for (SubClass subList : player.getSubClasses().values()) for (SubClass subList : player.getSubClasses().values())
{ {
subClassId = ClassId.getClassId(subList.getClassId()); subClassId = ClassId.getClassId(subList.getClassId());
if (subClassId.equalsOrChildOf(cid)) if (subClassId.equalsOrChildOf(cid))
{ {
return false; return false;
@@ -732,7 +719,6 @@ public class Raina extends AbstractNpcAI
// we need 2nd occupation ID // we need 2nd occupation ID
final int baseClassId = (CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.FIFTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, baseCID.getId())) ? baseCID.getParent().getId() : currentBaseId; final int baseClassId = (CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.FIFTH_CLASS_GROUP, baseCID.getId()) || CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, baseCID.getId())) ? baseCID.getParent().getId() : currentBaseId;
final Set<ClassId> availSubs = getSubclasses(player, baseClassId); final Set<ClassId> availSubs = getSubclasses(player, baseClassId);
if ((availSubs == null) || availSubs.isEmpty()) if ((availSubs == null) || availSubs.isEmpty())
{ {
return false; return false;
@@ -753,7 +739,6 @@ public class Raina extends AbstractNpcAI
private boolean hasAllSubclassLeveled(PlayerInstance player) private boolean hasAllSubclassLeveled(PlayerInstance player)
{ {
boolean leveled = true; boolean leveled = true;
for (SubClass sub : player.getSubClasses().values()) for (SubClass sub : player.getSubClasses().values())
{ {
if ((sub != null) && (sub.getLevel() < 75)) if ((sub != null) && (sub.getLevel() < 75))
@@ -767,7 +752,6 @@ public class Raina extends AbstractNpcAI
public List<ClassId> getAvailableDualclasses(PlayerInstance player) public List<ClassId> getAvailableDualclasses(PlayerInstance player)
{ {
final List<ClassId> dualClasses = new ArrayList<>(); final List<ClassId> dualClasses = new ArrayList<>();
for (ClassId ClassId : ClassId.values()) for (ClassId ClassId : ClassId.values())
{ {
if ((ClassId.getRace() != Race.ERTHEIA) && CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, ClassId.getId()) && (ClassId.getId() != player.getClassId().getId())) if ((ClassId.getRace() != Race.ERTHEIA) && CategoryData.getInstance().isInCategory(CategoryType.SIXTH_CLASS_GROUP, ClassId.getId()) && (ClassId.getId() != player.getClassId().getId()))
@@ -783,7 +767,6 @@ public class Raina extends AbstractNpcAI
final List<ClassId> tempList = new ArrayList<>(); final List<ClassId> tempList = new ArrayList<>();
final int baseClassId = player.getBaseClass(); final int baseClassId = player.getBaseClass();
final int dualClassId = player.getClassId().getId(); final int dualClassId = player.getClassId().getId();
for (ClassId temp : dualClassList) for (ClassId temp : dualClassList)
{ {
if ((temp.getId() != baseClassId) && (temp.getId() != dualClassId) && ((cType == null) || CategoryData.getInstance().isInCategory(cType, temp.getId()))) if ((temp.getId() != baseClassId) && (temp.getId() != dualClassId) && ((cType == null) || CategoryData.getInstance().isInCategory(cType, temp.getId())))
@@ -798,7 +781,6 @@ public class Raina extends AbstractNpcAI
{ {
Set<ClassId> subclasses = null; Set<ClassId> subclasses = null;
final ClassId pClass = ClassId.getClassId(classId); final ClassId pClass = ClassId.getClassId(classId);
if (CategoryData.getInstance().isInCategory(CategoryType.THIRD_CLASS_GROUP, classId) || (CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, classId))) if (CategoryData.getInstance().isInCategory(CategoryType.THIRD_CLASS_GROUP, classId) || (CategoryData.getInstance().isInCategory(CategoryType.FOURTH_CLASS_GROUP, classId)))
{ {
subclasses = EnumSet.copyOf(mainSubclassSet); subclasses = EnumSet.copyOf(mainSubclassSet);

View File

@@ -44,7 +44,6 @@ public class TomaJunior extends AbstractNpcAI
{ {
npc.broadcastSocialAction(3); npc.broadcastSocialAction(3);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.THE_BEACH_WHERE_RELICS_OF_GIANTS_HAD_FALLEN_HAS_NOW_BECOME_CLEAN, 1000); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.THE_BEACH_WHERE_RELICS_OF_GIANTS_HAD_FALLEN_HAS_NOW_BECOME_CLEAN, 1000);
} }
else if (event.equals("SOCIAL_ACTION") && (npc != null)) else if (event.equals("SOCIAL_ACTION") && (npc != null))
{ {

View File

@@ -93,7 +93,6 @@ public class YeSegiraTeleportDevice extends AbstractNpcAI
if (LOCATIONS.containsKey(event)) if (LOCATIONS.containsKey(event))
{ {
player.teleToLocation(LOCATIONS.get(event), true); player.teleToLocation(LOCATIONS.get(event), true);
if (event.equals("observatory") && player.getVariables().getBoolean(MOVIE_VAR, false)) if (event.equals("observatory") && player.getVariables().getBoolean(MOVIE_VAR, false))
{ {
playMovie(player, Movie.SI_ILLUSION_03_QUE); playMovie(player, Movie.SI_ILLUSION_03_QUE);

View File

@@ -103,7 +103,6 @@ public class Alexandria extends AbstractNpcAI
{ {
giveItems(player, agathion); giveItems(player, agathion);
htmltext = "30098-03.html"; htmltext = "30098-03.html";
if (agathion instanceof AdditionalQuestItemHolder) if (agathion instanceof AdditionalQuestItemHolder)
{ {
giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1); giveItems(player, ((AdditionalQuestItemHolder) agathion).getAdditionalId(), 1);

View File

@@ -45,7 +45,6 @@ public class Cerenas extends AbstractNpcAI
{ {
final QuestState qs = player.getQuestState(Q10369_NoblesseSoulTesting.class.getSimpleName()); final QuestState qs = player.getQuestState(Q10369_NoblesseSoulTesting.class.getSimpleName());
String htmltext = null; String htmltext = null;
if (event.equals("tiara")) if (event.equals("tiara"))
{ {
if ((qs != null) && qs.isCompleted()) if ((qs != null) && qs.isCompleted())

View File

@@ -46,7 +46,6 @@ public class ElmoredenServantsGhost extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
if (event.equals("teleport1") || event.equals("teleport2")) if (event.equals("teleport1") || event.equals("teleport2"))
{ {
if (!hasAtLeastOneQuestItem(player, USED_GRAVE_PASS, ANTIQUE_BROOCH)) if (!hasAtLeastOneQuestItem(player, USED_GRAVE_PASS, ANTIQUE_BROOCH))

View File

@@ -96,7 +96,6 @@ public class Wastelands extends AbstractNpcAI
{ {
npc.broadcastSocialAction(4); npc.broadcastSocialAction(4);
npc.broadcastSay(ChatType.NPC_GENERAL, GUARD_SHOUT[getRandom(2)], 1000); npc.broadcastSay(ChatType.NPC_GENERAL, GUARD_SHOUT[getRandom(2)], 1000);
World.getInstance().getVisibleObjectsInRange(npc, Npc.class, 500).stream().filter(n -> n.getId() == GUARD).forEach(guard -> startQuestTimer("SOCIAL_ACTION", getRandom(2500, 3500), guard, null)); World.getInstance().getVisibleObjectsInRange(npc, Npc.class, 500).stream().filter(n -> n.getId() == GUARD).forEach(guard -> startQuestTimer("SOCIAL_ACTION", getRandom(2500, 3500), guard, null));
break; break;
} }
@@ -306,15 +305,12 @@ public class Wastelands extends AbstractNpcAI
{ {
sakum.getVariables().set("GUARD_COUNT", COMMANDO_CAPTAIN_SAKUM_LOC.length); sakum.getVariables().set("GUARD_COUNT", COMMANDO_CAPTAIN_SAKUM_LOC.length);
sakum.getVariables().set("GUARD_CAPTAIN", false); sakum.getVariables().set("GUARD_CAPTAIN", false);
for (Location loc : COMMANDO_CAPTAIN_SAKUM_LOC) for (Location loc : COMMANDO_CAPTAIN_SAKUM_LOC)
{ {
final Attackable commander = (Attackable) addSpawn(COMMANDO_CAPTAIN, loc); final Attackable commander = (Attackable) addSpawn(COMMANDO_CAPTAIN, loc);
commander.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HOW_DARE_YOU_ATTACK); commander.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.HOW_DARE_YOU_ATTACK);
commander.reduceCurrentHp(1, sakum, null); // TODO: Find better way for attack commander.reduceCurrentHp(1, sakum, null); // TODO: Find better way for attack
sakum.reduceCurrentHp(1, commander, null); sakum.reduceCurrentHp(1, commander, null);
notifyEvent("START_ATTACK", commander, null); notifyEvent("START_ATTACK", commander, null);
} }
} }
@@ -322,14 +318,11 @@ public class Wastelands extends AbstractNpcAI
{ {
sakum.getVariables().set("GUARD_COUNT", COMMANDO_SAKUM_LOC.length); sakum.getVariables().set("GUARD_COUNT", COMMANDO_SAKUM_LOC.length);
sakum.getVariables().set("GUARD_CAPTAIN", true); sakum.getVariables().set("GUARD_CAPTAIN", true);
for (Location loc : COMMANDO_SAKUM_LOC) for (Location loc : COMMANDO_SAKUM_LOC)
{ {
final Attackable commander = (Attackable) addSpawn(COMMANDO, loc); final Attackable commander = (Attackable) addSpawn(COMMANDO, loc);
commander.reduceCurrentHp(1, sakum, null); // TODO: Find better way for attack commander.reduceCurrentHp(1, sakum, null); // TODO: Find better way for attack
sakum.reduceCurrentHp(1, commander, null); sakum.reduceCurrentHp(1, commander, null);
notifyEvent("START_ATTACK", commander, null); notifyEvent("START_ATTACK", commander, null);
} }
} }

View File

@@ -615,7 +615,6 @@ public class Antharas extends AbstractNpcAI
public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon, Skill skill) public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon, Skill skill)
{ {
_lastAttack = System.currentTimeMillis(); _lastAttack = System.currentTimeMillis();
if (npc.getId() == BOMBER) if (npc.getId() == BOMBER)
{ {
if (npc.calculateDistance3D(attacker) < 230) if (npc.calculateDistance3D(attacker) < 230)
@@ -878,7 +877,6 @@ public class Antharas extends AbstractNpcAI
final double distance_c2 = npc.calculateDistance3D(c2); final double distance_c2 = npc.calculateDistance3D(c2);
final double direction_c2 = npc.calculateDirectionTo(c2); final double direction_c2 = npc.calculateDirectionTo(c2);
SkillHolder skillToCast = null; SkillHolder skillToCast = null;
boolean castOnTarget = false; boolean castOnTarget = false;
if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25))

View File

@@ -134,7 +134,6 @@ public class Baium extends AbstractNpcAI
final int loc_y = info.getInt("loc_y"); final int loc_y = info.getInt("loc_y");
final int loc_z = info.getInt("loc_z"); final int loc_z = info.getInt("loc_z");
final int heading = info.getInt("heading"); final int heading = info.getInt("heading");
_baium = (GrandBossInstance) addSpawn(BAIUM, loc_x, loc_y, loc_z, heading, false, 0); _baium = (GrandBossInstance) addSpawn(BAIUM, loc_x, loc_y, loc_z, heading, false, 0);
_baium.setCurrentHpMp(curr_hp, curr_mp); _baium.setCurrentHpMp(curr_hp, curr_mp);
_lastAttack = System.currentTimeMillis(); _lastAttack = System.currentTimeMillis();
@@ -319,7 +318,6 @@ public class Baium extends AbstractNpcAI
{ {
final Attackable mob = (Attackable) npc; final Attackable mob = (Attackable) npc;
final Creature mostHated = mob.getMostHated(); final Creature mostHated = mob.getMostHated();
if ((_baium == null) || _baium.isDead()) if ((_baium == null) || _baium.isDead())
{ {
mob.deleteMe(); mob.deleteMe();
@@ -485,7 +483,6 @@ public class Baium extends AbstractNpcAI
public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon, Skill skill) public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon, Skill skill)
{ {
_lastAttack = System.currentTimeMillis(); _lastAttack = System.currentTimeMillis();
if (npc.getId() == BAIUM) if (npc.getId() == BAIUM)
{ {
if ((attacker.getMountType() == MountType.STRIDER) && !attacker.isAffectedBySkill(ANTI_STRIDER.getSkillId()) && !npc.isSkillDisabled(ANTI_STRIDER.getSkill())) if ((attacker.getMountType() == MountType.STRIDER) && !attacker.isAffectedBySkill(ANTI_STRIDER.getSkillId()) && !npc.isSkillDisabled(ANTI_STRIDER.getSkill()))
@@ -520,7 +517,6 @@ public class Baium extends AbstractNpcAI
{ {
final Attackable mob = (Attackable) npc; final Attackable mob = (Attackable) npc;
final Creature mostHated = mob.getMostHated(); final Creature mostHated = mob.getMostHated();
if ((getRandom(100) < 10) && SkillCaster.checkUseConditions(mob, SPEAR_ATTACK.getSkill())) if ((getRandom(100) < 10) && SkillCaster.checkUseConditions(mob, SPEAR_ATTACK.getSkill()))
{ {
if ((mostHated != null) && (npc.calculateDistance3D(mostHated) < 1000) && zone.isCharacterInZone(mostHated)) if ((mostHated != null) && (npc.calculateDistance3D(mostHated) < 1000) && zone.isCharacterInZone(mostHated))
@@ -605,7 +601,6 @@ public class Baium extends AbstractNpcAI
public String onSpellFinished(Npc npc, PlayerInstance player, Skill skill) public String onSpellFinished(Npc npc, PlayerInstance player, Skill skill)
{ {
startQuestTimer("MANAGE_SKILLS", 1000, npc, null); startQuestTimer("MANAGE_SKILLS", 1000, npc, null);
if (!zone.isCharacterInZone(npc) && (_baium != null)) if (!zone.isCharacterInZone(npc) && (_baium != null))
{ {
_baium.teleToLocation(BAIUM_LOC); _baium.teleToLocation(BAIUM_LOC);

View File

@@ -258,7 +258,6 @@ public class BalokWarzone extends AbstractInstance
public String onKill(Npc npc, PlayerInstance player, boolean isPet) public String onKill(Npc npc, PlayerInstance player, boolean isPet)
{ {
final Instance world = npc.getInstanceWorld(); final Instance world = npc.getInstanceWorld();
if (npc == _balok) if (npc == _balok)
{ {
if (world.getAliveNpcs(BALOK).isEmpty()) if (world.getAliveNpcs(BALOK).isEmpty())

View File

@@ -291,7 +291,6 @@ public class BaylorWarzone extends AbstractInstance
{ {
final Npc npc = (Npc) event.getTarget(); final Npc npc = (Npc) event.getTarget();
final Instance world = npc.getInstanceWorld(); final Instance world = npc.getInstanceWorld();
if (isInInstance(world)) if (isInInstance(world))
{ {
if (world.getAliveNpcs(BAYLOR).isEmpty()) if (world.getAliveNpcs(BAYLOR).isEmpty())
@@ -310,7 +309,6 @@ public class BaylorWarzone extends AbstractInstance
final Creature creature = event.getSeen(); final Creature creature = event.getSeen();
final Npc npc = (Npc) event.getSeer(); final Npc npc = (Npc) event.getSeer();
final Instance world = npc.getInstanceWorld(); final Instance world = npc.getInstanceWorld();
if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0))
{ {
npc.setScriptValue(1); npc.setScriptValue(1);

View File

@@ -158,39 +158,33 @@ public class Beleth extends AbstractNpcAI
_camera2 = addSpawn(29121, new Location(16323, 210741, -9357)); _camera2 = addSpawn(29121, new Location(16323, 210741, -9357));
_camera3 = addSpawn(29122, new Location(16323, 213170, -9357)); _camera3 = addSpawn(29122, new Location(16323, 213170, -9357));
_camera4 = addSpawn(29123, new Location(16323, 214917, -9356)); _camera4 = addSpawn(29123, new Location(16323, 214917, -9356));
ZONE.broadcastPacket(new PlaySound(1, "BS07_A", 1, _camera1.getObjectId(), _camera1.getX(), _camera1.getY(), _camera1.getZ())); ZONE.broadcastPacket(new PlaySound(1, "BS07_A", 1, _camera1.getObjectId(), _camera1.getX(), _camera1.getY(), _camera1.getZ()));
ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 75, -25, 0, 2500, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 75, -25, 0, 2500, 0, 0, 1, 0, 0));
ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 75, -25, 0, 2500, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 75, -25, 0, 2500, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN2", 300, null, null); startQuestTimer("SPAWN2", 300, null, null);
break; break;
} }
case "SPAWN2": case "SPAWN2":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera1, 1800, -45, -45, 5000, 5000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 1800, -45, -45, 5000, 5000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN3", 4900, null, null); startQuestTimer("SPAWN3", 4900, null, null);
break; break;
} }
case "SPAWN3": case "SPAWN3":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera1, 2500, -120, -45, 5000, 5000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 2500, -120, -45, 5000, 5000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN4", 4900, null, null); startQuestTimer("SPAWN4", 4900, null, null);
break; break;
} }
case "SPAWN4": case "SPAWN4":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera2, 2200, 130, 0, 0, 1500, -20, 15, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera2, 2200, 130, 0, 0, 1500, -20, 15, 1, 0, 0));
startQuestTimer("SPAWN5", 1400, null, null); startQuestTimer("SPAWN5", 1400, null, null);
break; break;
} }
case "SPAWN5": case "SPAWN5":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera2, 2300, 100, 0, 2000, 4500, 0, 10, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera2, 2300, 100, 0, 2000, 4500, 0, 10, 1, 0, 0));
startQuestTimer("SPAWN6", 2500, null, null); startQuestTimer("SPAWN6", 2500, null, null);
break; break;
} }
@@ -201,7 +195,6 @@ public class Beleth extends AbstractNpcAI
ZONE.broadcastPacket(new StaticObject(door, false)); ZONE.broadcastPacket(new StaticObject(door, false));
ZONE.broadcastPacket(new DoorStatusUpdate(door)); ZONE.broadcastPacket(new DoorStatusUpdate(door));
startQuestTimer("SPAWN7", 1700, null, null); startQuestTimer("SPAWN7", 1700, null, null);
break; break;
} }
@@ -209,23 +202,19 @@ public class Beleth extends AbstractNpcAI
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera4, 1500, 210, 0, 0, 1500, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera4, 1500, 210, 0, 0, 1500, 0, 0, 1, 0, 0));
ZONE.broadcastPacket(new SpecialCamera(_camera4, 900, 255, 0, 5000, 6500, 0, 10, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera4, 900, 255, 0, 5000, 6500, 0, 10, 1, 0, 0));
startQuestTimer("SPAWN8", 6000, null, null); startQuestTimer("SPAWN8", 6000, null, null);
break; break;
} }
case "SPAWN8": case "SPAWN8":
{ {
_whirpool = addSpawn(WHIRPOOL, new Location(16323, 214917, -9356)); _whirpool = addSpawn(WHIRPOOL, new Location(16323, 214917, -9356));
ZONE.broadcastPacket(new SpecialCamera(_camera4, 900, 255, 0, 0, 1500, 0, 10, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera4, 900, 255, 0, 0, 1500, 0, 10, 1, 0, 0));
startQuestTimer("SPAWN9", 1000, null, null); startQuestTimer("SPAWN9", 1000, null, null);
break; break;
} }
case "SPAWN9": case "SPAWN9":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera4, 1000, 255, 0, 7000, 17000, 0, 25, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera4, 1000, 255, 0, 7000, 17000, 0, 25, 1, 0, 0));
startQuestTimer("SPAWN10", 3000, null, null); startQuestTimer("SPAWN10", 3000, null, null);
break; break;
} }
@@ -242,7 +231,6 @@ public class Beleth extends AbstractNpcAI
case "SPAWN11": case "SPAWN11":
{ {
ZONE.broadcastPacket(new SocialAction(_beleth.getObjectId(), 1)); ZONE.broadcastPacket(new SocialAction(_beleth.getObjectId(), 1));
for (int i = 0; i < 6; i++) for (int i = 0; i < 6; i++)
{ {
final int x = (int) ((150 * Math.cos(i * 1.046666667)) + 16323); final int x = (int) ((150 * Math.cos(i * 1.046666667)) + 16323);
@@ -260,14 +248,12 @@ public class Beleth extends AbstractNpcAI
case "SPAWN12": case "SPAWN12":
{ {
ZONE.broadcastPacket(new SpecialCamera(_beleth, 0, 270, -5, 0, 4000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_beleth, 0, 270, -5, 0, 4000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN13", 3500, null, null); startQuestTimer("SPAWN13", 3500, null, null);
break; break;
} }
case "SPAWN13": case "SPAWN13":
{ {
ZONE.broadcastPacket(new SpecialCamera(_beleth, 800, 270, 10, 3000, 6000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_beleth, 800, 270, 10, 3000, 6000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN14", 5000, null, null); startQuestTimer("SPAWN14", 5000, null, null);
break; break;
} }
@@ -275,14 +261,12 @@ public class Beleth extends AbstractNpcAI
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera3, 100, 270, 15, 0, 5000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera3, 100, 270, 15, 0, 5000, 0, 0, 1, 0, 0));
ZONE.broadcastPacket(new SpecialCamera(_camera3, 100, 270, 15, 0, 5000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera3, 100, 270, 15, 0, 5000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN15", 100, null, null); startQuestTimer("SPAWN15", 100, null, null);
break; break;
} }
case "SPAWN15": case "SPAWN15":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera3, 100, 270, 15, 3000, 6000, 0, 5, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera3, 100, 270, 15, 3000, 6000, 0, 5, 1, 0, 0));
startQuestTimer("SPAWN16", 1400, null, null); startQuestTimer("SPAWN16", 1400, null, null);
break; break;
} }
@@ -296,21 +280,18 @@ public class Beleth extends AbstractNpcAI
case "SPAWN17": case "SPAWN17":
{ {
ZONE.broadcastPacket(new MagicSkillUse(_beleth, _beleth, 5532, 1, 2000, 0)); ZONE.broadcastPacket(new MagicSkillUse(_beleth, _beleth, 5532, 1, 2000, 0));
startQuestTimer("SPAWN18", 2000, null, null); startQuestTimer("SPAWN18", 2000, null, null);
break; break;
} }
case "SPAWN18": case "SPAWN18":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera3, 700, 270, 20, 1500, 8000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera3, 700, 270, 20, 1500, 8000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN19", 6900, null, null); startQuestTimer("SPAWN19", 6900, null, null);
break; break;
} }
case "SPAWN19": case "SPAWN19":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera3, 40, 260, 0, 0, 4000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera3, 40, 260, 0, 0, 4000, 0, 0, 1, 0, 0));
for (Npc fakeBeleth : _minions) for (Npc fakeBeleth : _minions)
{ {
fakeBeleth.spawnMe(); fakeBeleth.spawnMe();
@@ -325,28 +306,24 @@ public class Beleth extends AbstractNpcAI
case "SPAWN20": case "SPAWN20":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera3, 40, 280, 0, 0, 4000, 5, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera3, 40, 280, 0, 0, 4000, 5, 0, 1, 0, 0));
startQuestTimer("SPAWN21", 3000, null, null); startQuestTimer("SPAWN21", 3000, null, null);
break; break;
} }
case "SPAWN21": case "SPAWN21":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera3, 5, 250, 5, 0, 13000, 20, 15, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera3, 5, 250, 5, 0, 13000, 20, 15, 1, 0, 0));
startQuestTimer("SPAWN22", 1000, null, null); startQuestTimer("SPAWN22", 1000, null, null);
break; break;
} }
case "SPAWN22": case "SPAWN22":
{ {
ZONE.broadcastPacket(new SocialAction(_beleth.getObjectId(), 3)); ZONE.broadcastPacket(new SocialAction(_beleth.getObjectId(), 3));
startQuestTimer("SPAWN23", 4000, null, null); startQuestTimer("SPAWN23", 4000, null, null);
break; break;
} }
case "SPAWN23": case "SPAWN23":
{ {
ZONE.broadcastPacket(new MagicSkillUse(_beleth, _beleth, 5533, 1, 2000, 0)); ZONE.broadcastPacket(new MagicSkillUse(_beleth, _beleth, 5533, 1, 2000, 0));
startQuestTimer("SPAWN24", 6800, null, null); startQuestTimer("SPAWN24", 6800, null, null);
break; break;
} }
@@ -354,7 +331,6 @@ public class Beleth extends AbstractNpcAI
{ {
_beleth.deleteMe(); _beleth.deleteMe();
_beleth = null; _beleth = null;
for (Npc fakeBeleth : _minions) for (Npc fakeBeleth : _minions)
{ {
fakeBeleth.deleteMe(); fakeBeleth.deleteMe();
@@ -374,9 +350,7 @@ public class Beleth extends AbstractNpcAI
} }
_lastAttack = System.currentTimeMillis(); _lastAttack = System.currentTimeMillis();
startQuestTimer("CHECK_ATTACK", 60000, null, null); startQuestTimer("CHECK_ATTACK", 60000, null, null);
startQuestTimer("SPAWN25", 60000, null, null); startQuestTimer("SPAWN25", 60000, null, null);
break; break;
} }
@@ -391,7 +365,6 @@ public class Beleth extends AbstractNpcAI
final int x = (int) ((650 * Math.cos(i * 0.39)) + 16323); final int x = (int) ((650 * Math.cos(i * 0.39)) + 16323);
final int y = (int) ((650 * Math.sin(i * 0.39)) + 213170); final int y = (int) ((650 * Math.sin(i * 0.39)) + 213170);
npc = addSpawn(FAKE_BELETH, new Location(x, y, -9357, 49152)); npc = addSpawn(FAKE_BELETH, new Location(x, y, -9357, 49152));
_minions.add(npc); _minions.add(npc);
@@ -408,7 +381,6 @@ public class Beleth extends AbstractNpcAI
{ {
xm[i] = (int) ((1700 * Math.cos((i * 1.57) + 0.78)) + 16323); xm[i] = (int) ((1700 * Math.cos((i * 1.57) + 0.78)) + 16323);
ym[i] = (int) ((1700 * Math.sin((i * 1.57) + 0.78)) + 213170); ym[i] = (int) ((1700 * Math.sin((i * 1.57) + 0.78)) + 213170);
npc = addSpawn(FAKE_BELETH, new Location(xm[i], ym[i], -9357, 49152)); npc = addSpawn(FAKE_BELETH, new Location(xm[i], ym[i], -9357, 49152));
npc.setImmobilized(true); npc.setImmobilized(true);
@@ -460,7 +432,6 @@ public class Beleth extends AbstractNpcAI
xm[15] = (xm[7] + xm[0]) / 2; xm[15] = (xm[7] + xm[0]) / 2;
ym[15] = (ym[7] + ym[0]) / 2; ym[15] = (ym[7] + ym[0]) / 2;
_minions.add(addSpawn(FAKE_BELETH, new Location(xm[15], ym[15], -9357, 49152))); _minions.add(addSpawn(FAKE_BELETH, new Location(xm[15], ym[15], -9357, 49152)));
_allowedObjId = getRandomEntry(_minions).getObjectId(); _allowedObjId = getRandomEntry(_minions).getObjectId();
break; break;
} }
@@ -476,26 +447,22 @@ public class Beleth extends AbstractNpcAI
_camera1 = addSpawn(29122, new Location(16323, 213170, -9357)); _camera1 = addSpawn(29122, new Location(16323, 213170, -9357));
_camera1.broadcastPacket(new PlaySound(1, "BS07_D", 1, _camera1.getObjectId(), _camera1.getX(), _camera1.getY(), _camera1.getZ())); _camera1.broadcastPacket(new PlaySound(1, "BS07_D", 1, _camera1.getObjectId(), _camera1.getX(), _camera1.getY(), _camera1.getZ()));
ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 290, 25, 0, 10000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 290, 25, 0, 10000, 0, 0, 1, 0, 0));
ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 290, 25, 0, 10000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 290, 25, 0, 10000, 0, 0, 1, 0, 0));
ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 110, 25, 4000, 10000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 110, 25, 4000, 10000, 0, 0, 1, 0, 0));
ZONE.broadcastPacket(new SocialAction(_beleth.getObjectId(), 5)); ZONE.broadcastPacket(new SocialAction(_beleth.getObjectId(), 5));
startQuestTimer("SPAWN27", 4000, null, null); startQuestTimer("SPAWN27", 4000, null, null);
break; break;
} }
case "SPAWN27": case "SPAWN27":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 295, 25, 4000, 5000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 295, 25, 4000, 5000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN28", 4500, null, null); startQuestTimer("SPAWN28", 4500, null, null);
break; break;
} }
case "SPAWN28": case "SPAWN28":
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 295, 10, 4000, 11000, 0, 25, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 400, 295, 10, 4000, 11000, 0, 25, 1, 0, 0));
startQuestTimer("SPAWN29", 9000, null, null); startQuestTimer("SPAWN29", 9000, null, null);
break; break;
} }
@@ -503,7 +470,6 @@ public class Beleth extends AbstractNpcAI
{ {
ZONE.broadcastPacket(new SpecialCamera(_camera1, 250, 90, 25, 0, 1000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 250, 90, 25, 0, 1000, 0, 0, 1, 0, 0));
ZONE.broadcastPacket(new SpecialCamera(_camera1, 250, 90, 25, 0, 10000, 0, 0, 1, 0, 0)); ZONE.broadcastPacket(new SpecialCamera(_camera1, 250, 90, 25, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SPAWN30", 2000, null, null); startQuestTimer("SPAWN30", 2000, null, null);
break; break;
} }
@@ -513,7 +479,6 @@ public class Beleth extends AbstractNpcAI
_beleth.deleteMe(); _beleth.deleteMe();
_camera2 = addSpawn(29121, new Location(14056, 213170, -9357)); _camera2 = addSpawn(29121, new Location(14056, 213170, -9357));
startQuestTimer("SPAWN31", 3500, null, null); startQuestTimer("SPAWN31", 3500, null, null);
break; break;
} }
@@ -527,7 +492,6 @@ public class Beleth extends AbstractNpcAI
ZONE.broadcastPacket(new StaticObject(door2, false)); ZONE.broadcastPacket(new StaticObject(door2, false));
ZONE.broadcastPacket(new DoorStatusUpdate(door2)); ZONE.broadcastPacket(new DoorStatusUpdate(door2));
DoorData.getInstance().getDoor(DOOR3).openMe(); DoorData.getInstance().getDoor(DOOR3).openMe();
_camera1.deleteMe(); _camera1.deleteMe();
@@ -602,7 +566,6 @@ public class Beleth extends AbstractNpcAI
npc.setTarget(player); npc.setTarget(player);
npc.doCast(HORN_OF_RISING.getSkill()); npc.doCast(HORN_OF_RISING.getSkill());
} }
return null; return null;
} }
@@ -672,7 +635,6 @@ public class Beleth extends AbstractNpcAI
{ {
npc.getSpawn().setRespawnDelay(0); npc.getSpawn().setRespawnDelay(0);
} }
return null; return null;
} }
@@ -683,16 +645,13 @@ public class Beleth extends AbstractNpcAI
if ((_killer != null) && (player.getObjectId() == _killer.getObjectId())) if ((_killer != null) && (player.getObjectId() == _killer.getObjectId()))
{ {
_killer = null; _killer = null;
giveItems(player, RING); giveItems(player, RING);
html = "32470a.htm"; html = "32470a.htm";
} }
else else
{ {
html = "32470b.htm"; html = "32470b.htm";
} }
return HtmCache.getInstance().getHtm(player, "data/html/default/" + html); return HtmCache.getInstance().getHtm(player, "data/html/default/" + html);
} }
@@ -746,7 +705,6 @@ public class Beleth extends AbstractNpcAI
if (npc.getId() == REAL_BELETH) if (npc.getId() == REAL_BELETH)
{ {
cancelQuestTimer("CHECK_ATTACK", null, null); cancelQuestTimer("CHECK_ATTACK", null, null);
setBelethKiller(killer); setBelethKiller(killer);
GrandBossManager.getInstance().setBossStatus(REAL_BELETH, DEAD); GrandBossManager.getInstance().setBossStatus(REAL_BELETH, DEAD);
final long respawnTime = (Config.BELETH_SPAWN_INTERVAL + getRandom(-Config.BELETH_SPAWN_RANDOM, Config.BELETH_SPAWN_RANDOM)) * 3600000; final long respawnTime = (Config.BELETH_SPAWN_INTERVAL + getRandom(-Config.BELETH_SPAWN_RANDOM, Config.BELETH_SPAWN_RANDOM)) * 3600000;
@@ -754,7 +712,6 @@ public class Beleth extends AbstractNpcAI
info.set("respawn_time", System.currentTimeMillis() + respawnTime); info.set("respawn_time", System.currentTimeMillis() + respawnTime);
GrandBossManager.getInstance().setStatSet(REAL_BELETH, info); GrandBossManager.getInstance().setStatSet(REAL_BELETH, info);
startQuestTimer("BELETH_UNLOCK", respawnTime, null, null); startQuestTimer("BELETH_UNLOCK", respawnTime, null, null);
deleteAll(); deleteAll();
npc.deleteMe(); npc.deleteMe();
@@ -775,7 +732,6 @@ public class Beleth extends AbstractNpcAI
_priest.decayMe(); _priest.decayMe();
_stone = addSpawn(STONE_COFFIN, new Location(12470, 215607, -9381, 49152)); _stone = addSpawn(STONE_COFFIN, new Location(12470, 215607, -9381, 49152));
startQuestTimer("SPAWN26", 1000, null, null); startQuestTimer("SPAWN26", 1000, null, null);
} }
else if (npc.getObjectId() == _allowedObjId) else if (npc.getObjectId() == _allowedObjId)

View File

@@ -146,7 +146,6 @@ public class IceQueensCastle extends AbstractInstance
{ {
npc.setScriptValue(1); npc.setScriptValue(1);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.S1_MAY_THE_PROTECTION_OF_THE_GODS_BE_UPON_YOU, creature.getName()); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.S1_MAY_THE_PROTECTION_OF_THE_GODS_BE_UPON_YOU, creature.getName());
World.getInstance().forEachVisibleObject(npc, Npc.class, mob -> World.getInstance().forEachVisibleObject(npc, Npc.class, mob ->
{ {
if ((mob.getId() == ARCHERY_KNIGHT) && !mob.isDead() && !mob.isDecayed()) if ((mob.getId() == ARCHERY_KNIGHT) && !mob.isDead() && !mob.isDecayed())

View File

@@ -202,7 +202,6 @@ public class LastImperialTomb extends AbstractInstance
case "FRINTEZZA_INTRO_2": case "FRINTEZZA_INTRO_2":
{ {
final Instance world = player.getInstanceWorld(); final Instance world = player.getInstanceWorld();
final Npc frintezzaDummy = addSpawn(DUMMY, -87784, -155083, -9087, 16048, false, 0, false, world.getId()); final Npc frintezzaDummy = addSpawn(DUMMY, -87784, -155083, -9087, 16048, false, 0, false, world.getId());
world.setParameter("frintezzaDummy", frintezzaDummy); world.setParameter("frintezzaDummy", frintezzaDummy);
@@ -219,7 +218,6 @@ public class LastImperialTomb extends AbstractInstance
final Npc scarletDummy = addSpawn(DUMMY2, -87784, -153298, -9175, 16384, false, 0, false, world.getId()); final Npc scarletDummy = addSpawn(DUMMY2, -87784, -153298, -9175, 16384, false, 0, false, world.getId());
world.setParameter("scarletDummy", scarletDummy); world.setParameter("scarletDummy", scarletDummy);
disablePlayers(world); disablePlayers(world);
// broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0)); // broadcastPacket(world, new SpecialCamera(overheadDummy, 0, 75, -89, 0, 100, 0, 0, 1, 0, 0));
@@ -241,7 +239,6 @@ public class LastImperialTomb extends AbstractInstance
demons.add(demon); demons.add(demon);
} }
world.setParameter("demons", demons); world.setParameter("demons", demons);
startQuestTimer("FRINTEZZA_INTRO_3", 6500, null, player, false); startQuestTimer("FRINTEZZA_INTRO_3", 6500, null, player, false);
break; break;
} }
@@ -505,7 +502,6 @@ public class LastImperialTomb extends AbstractInstance
broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4)); broadcastPacket(world, new SocialAction(frintezza.getObjectId(), 4));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0)); broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 1000, 0, 0, 1, 0, 0));
broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0)); broadcastPacket(world, new SpecialCamera(frintezza, 250, 120, 15, 0, 10000, 0, 0, 1, 0, 0));
startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false); startQuestTimer("SCARLET_SECOND_MORPH_CAMERA_2", 7000, npc, null, false);
break; break;
} }

View File

@@ -160,7 +160,6 @@ public class ScarletVanHalisha extends AbstractNpcAI
} }
} }
} }
return SkillData.getInstance().getSkill(FRINTEZZA_DAEMON_ATTACK, 1); return SkillData.getInstance().getSkill(FRINTEZZA_DAEMON_ATTACK, 1);
} }

View File

@@ -169,7 +169,6 @@ public class IstinaCavern extends AbstractInstance
{ {
final SkillHolder death1 = npcParams.getSkillHolder("Istina_Death_Skill01"); final SkillHolder death1 = npcParams.getSkillHolder("Istina_Death_Skill01");
final SkillHolder death2 = npcParams.getSkillHolder("Istina_Death_Skill02"); final SkillHolder death2 = npcParams.getSkillHolder("Istina_Death_Skill02");
if (mostHated.isInCategory(CategoryType.TANKER_GROUP)) if (mostHated.isInCategory(CategoryType.TANKER_GROUP))
{ {
addSkillCastDesire(npc, mostHated, (mostHated.isAffectedBySkill(death1) ? death2 : death1), 23); addSkillCastDesire(npc, mostHated, (mostHated.isAffectedBySkill(death1) ? death2 : death1), 23);
@@ -187,7 +186,6 @@ public class IstinaCavern extends AbstractInstance
final SkillHolder death1 = npcParams.getSkillHolder("Istina_Death_Skill01"); final SkillHolder death1 = npcParams.getSkillHolder("Istina_Death_Skill01");
final SkillHolder death2 = npcParams.getSkillHolder("Istina_Death_Skill02"); final SkillHolder death2 = npcParams.getSkillHolder("Istina_Death_Skill02");
final Creature mostHated = ((Attackable) npc).getMostHated(); final Creature mostHated = ((Attackable) npc).getMostHated();
if ((mostHated != null) && npc.isInsideRadius2D(mostHated, 15000) && mostHated.isInCategory(CategoryType.TANKER_GROUP) && mostHated.isAffectedBySkill(death1)) if ((mostHated != null) && npc.isInsideRadius2D(mostHated, 15000) && mostHated.isInCategory(CategoryType.TANKER_GROUP) && mostHated.isAffectedBySkill(death1))
{ {
addSkillCastDesire(npc, mostHated, death2, 23); addSkillCastDesire(npc, mostHated, death2, 23);
@@ -266,7 +264,6 @@ public class IstinaCavern extends AbstractInstance
{ {
final int countDown = npcVars.getInt("COUNT_DOWN", 30); final int countDown = npcVars.getInt("COUNT_DOWN", 30);
final int charged = getChargedPercent(npcVars.getInt("SCORE_VAL", 0), isExtremeMode(instance)); final int charged = getChargedPercent(npcVars.getInt("SCORE_VAL", 0), isExtremeMode(instance));
if (countDown == 0) if (countDown == 0)
{ {
npcVars.set("COUNTING_ENABLED", false); npcVars.set("COUNTING_ENABLED", false);
@@ -370,7 +367,6 @@ public class IstinaCavern extends AbstractInstance
if ((skill != null) && isInInstance(instance)) if ((skill != null) && isInInstance(instance))
{ {
final int skillId = skill.getId(); final int skillId = skill.getId();
if (npc.getId() == INVISIBLE_NPC) if (npc.getId() == INVISIBLE_NPC)
{ {
if (skillId == ERUPTION_1.getSkillId()) if (skillId == ERUPTION_1.getSkillId())
@@ -381,7 +377,6 @@ public class IstinaCavern extends AbstractInstance
else if (skillId == ERUPTION_2.getSkillId()) else if (skillId == ERUPTION_2.getSkillId())
{ {
getTimers().addTimer("NPC_DELETE", 2000, event -> npc.deleteMe()); getTimers().addTimer("NPC_DELETE", 2000, event -> npc.deleteMe());
if (isExtremeMode(instance) && (getRandom(100) < 30)) if (isExtremeMode(instance) && (getRandom(100) < 30))
{ {
addAttackPlayerDesire(addSpawn(EXTREME_MINION, npc, false, 0, false, instance.getId()), npc.getVariables().getObject("ERUPTION_TARGET", PlayerInstance.class), 23); addAttackPlayerDesire(addSpawn(EXTREME_MINION, npc, false, 0, false, instance.getId()), npc.getVariables().getObject("ERUPTION_TARGET", PlayerInstance.class), 23);
@@ -391,7 +386,6 @@ public class IstinaCavern extends AbstractInstance
else else
{ {
final StatSet npcParams = npc.getParameters(); final StatSet npcParams = npc.getParameters();
if (skillId == npcParams.getSkillHolder("Istina_Death_Skill01").getSkillId()) if (skillId == npcParams.getSkillHolder("Istina_Death_Skill01").getSkillId())
{ {
showOnScreenMsg(player, NpcStringId.ISTINA_S_MARK_SHINES_ABOVE_THE_HEAD, ExShowScreenMessage.TOP_CENTER, 4000); showOnScreenMsg(player, NpcStringId.ISTINA_S_MARK_SHINES_ABOVE_THE_HEAD, ExShowScreenMessage.TOP_CENTER, 4000);
@@ -441,17 +435,14 @@ public class IstinaCavern extends AbstractInstance
{ {
final StatSet npcVars = npc.getVariables(); final StatSet npcVars = npc.getVariables();
final int stage = npcVars.getInt("ISTINA_STAGE", -1); final int stage = npcVars.getInt("ISTINA_STAGE", -1);
if (npc.getId() == BALLISTA) if (npc.getId() == BALLISTA)
{ {
if (npcVars.getBoolean("COUNTING_ENABLED", false)) if (npcVars.getBoolean("COUNTING_ENABLED", false))
{ {
final int score = npcVars.getInt("SCORE_VAL", 0); final int score = npcVars.getInt("SCORE_VAL", 0);
if (getChargedPercent(score, isExtremeMode(instance)) < 100) if (getChargedPercent(score, isExtremeMode(instance)) < 100)
{ {
int addScore = damage; int addScore = damage;
if (skill != null) if (skill != null)
{ {
if (skill.getEffectPoint() < 0) if (skill.getEffectPoint() < 0)
@@ -660,7 +651,6 @@ public class IstinaCavern extends AbstractInstance
PlayerInstance maxDealer = null; PlayerInstance maxDealer = null;
long maxDamage = 0; long maxDamage = 0;
int totalDamage = 0; int totalDamage = 0;
for (AggroInfo info : ((Attackable) npc).getAggroList().values()) for (AggroInfo info : ((Attackable) npc).getAggroList().values())
{ {
if (info == null) if (info == null)

View File

@@ -43,7 +43,6 @@ public class Rumiese extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "33151-01.html": case "33151-01.html":

View File

@@ -209,7 +209,6 @@ public class OctavisWarzone extends AbstractInstance
case "BEASTS_CHECK_HP": case "BEASTS_CHECK_HP":
{ {
final int hpPer = npc.getCurrentHpPercent(); final int hpPer = npc.getCurrentHpPercent();
if ((hpPer < 50) && npc.isScriptValue(0)) if ((hpPer < 50) && npc.isScriptValue(0))
{ {
npc.getStat().addFixedValue(Stat.REGENERATE_HP_RATE, 100d); // On original script 95000d was added, making Octavis targetable for two seconds. npc.getStat().addFixedValue(Stat.REGENERATE_HP_RATE, 100d); // On original script 95000d was added, making Octavis targetable for two seconds.
@@ -283,7 +282,6 @@ public class OctavisWarzone extends AbstractInstance
{ {
final int moveX = npcParams.getInt("Move_to_X", 0); final int moveX = npcParams.getInt("Move_to_X", 0);
final int moveY = npcParams.getInt("Move_to_Y", 0); final int moveY = npcParams.getInt("Move_to_Y", 0);
if ((moveX != 0) && (moveY != 0)) if ((moveX != 0) && (moveY != 0))
{ {
npc.setRunning(); npc.setRunning();
@@ -348,7 +346,6 @@ public class OctavisWarzone extends AbstractInstance
if (isInInstance(world)) if (isInInstance(world))
{ {
final int hpPer = npc.getCurrentHpPercent(); final int hpPer = npc.getCurrentHpPercent();
if (CommonUtil.contains(OCTAVIS_STAGE_1, npc.getId())) if (CommonUtil.contains(OCTAVIS_STAGE_1, npc.getId()))
{ {
if (hpPer >= 90) if (hpPer >= 90)
@@ -379,7 +376,6 @@ public class OctavisWarzone extends AbstractInstance
else if (CommonUtil.contains(OCTAVIS_STAGE_2, npc.getId())) else if (CommonUtil.contains(OCTAVIS_STAGE_2, npc.getId()))
{ {
final StatSet npcVars = npc.getVariables(); final StatSet npcVars = npc.getVariables();
if (npcVars.getBoolean("START_TIMERS", true)) if (npcVars.getBoolean("START_TIMERS", true))
{ {
npcVars.set("START_TIMERS", false); npcVars.set("START_TIMERS", false);
@@ -506,7 +502,6 @@ public class OctavisWarzone extends AbstractInstance
final Creature creature = event.getSeen(); final Creature creature = event.getSeen();
final Npc npc = (Npc) event.getSeer(); final Npc npc = (Npc) event.getSeer();
final Instance world = npc.getInstanceWorld(); final Instance world = npc.getInstanceWorld();
if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0))
{ {
world.openCloseDoor(MAIN_DOOR_1, true); world.openCloseDoor(MAIN_DOOR_1, true);

View File

@@ -279,7 +279,6 @@ public class QueenAnt extends AbstractNpcAI
break; break;
} }
} }
return super.onSpawn(npc); return super.onSpawn(npc);
} }

View File

@@ -152,7 +152,6 @@ public class Sailren extends AbstractNpcAI
sailren.setInvul(true); sailren.setInvul(true);
sailren.setImmobilized(true); sailren.setImmobilized(true);
zone.broadcastPacket(new SpecialCamera(movieNpc, 60, 110, 30, 4000, 1500, 20000, 0, 65, 1, 0, 0)); zone.broadcastPacket(new SpecialCamera(movieNpc, 60, 110, 30, 4000, 1500, 20000, 0, 65, 1, 0, 0));
startQuestTimer("ATTACK", 24600, sailren, null); startQuestTimer("ATTACK", 24600, sailren, null);
startQuestTimer("ANIMATION", 2000, movieNpc, null); startQuestTimer("ANIMATION", 2000, movieNpc, null);
startQuestTimer("CAMERA_1", 4100, movieNpc, null); startQuestTimer("CAMERA_1", 4100, movieNpc, null);

View File

@@ -77,7 +77,6 @@ public class Cannon extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "useCannonBall": case "useCannonBall":
@@ -172,7 +171,6 @@ public class Cannon extends AbstractNpcAI
if (skill.getId() == PRESENT_SKILL.getSkillId()) if (skill.getId() == PRESENT_SKILL.getSkillId())
{ {
final StatSet npcParams = npc.getParameters(); final StatSet npcParams = npc.getParameters();
npc.broadcastPacket(new Earthquake(npc, 10, 5)); npc.broadcastPacket(new Earthquake(npc, 10, 5));
npc.broadcastPacket(new OnEventTrigger(npcParams.getInt("TRIGGER_ID"), true)); npc.broadcastPacket(new OnEventTrigger(npcParams.getInt("TRIGGER_ID"), true));
final Npc light = addSpawn(INVISIBLE_NPC, npcParams.getInt("LIGHT_ZONE_POS_X"), npcParams.getInt("LIGHT_ZONE_POS_Y"), npcParams.getInt("LIGHT_ZONE_POS_Z"), 0, false, 10000); final Npc light = addSpawn(INVISIBLE_NPC, npcParams.getInt("LIGHT_ZONE_POS_X"), npcParams.getInt("LIGHT_ZONE_POS_Y"), npcParams.getInt("LIGHT_ZONE_POS_Z"), 0, false, 10000);

View File

@@ -143,7 +143,6 @@ public class TeredorWarzone extends AbstractInstance
case "TEREDOR_LAIR_CHECK": case "TEREDOR_LAIR_CHECK":
{ {
final Location spawnLoc = npc.getSpawn(); final Location spawnLoc = npc.getSpawn();
if (((spawnLoc.getX() - npc.getX()) > 1000) || ((spawnLoc.getX() - npc.getX()) < -2000)) if (((spawnLoc.getX() - npc.getX()) > 1000) || ((spawnLoc.getX() - npc.getX()) < -2000))
{ {
showOnScreenMsg(instance, NpcStringId.TEREDOR_SUMMONS_SUBORDINATE_BECAUSE_YOU_MOVED_OUT_OF_TEREDOR_S_AREA, ExShowScreenMessage.TOP_CENTER, 4000); showOnScreenMsg(instance, NpcStringId.TEREDOR_SUMMONS_SUBORDINATE_BECAUSE_YOU_MOVED_OUT_OF_TEREDOR_S_AREA, ExShowScreenMessage.TOP_CENTER, 4000);
@@ -188,7 +187,6 @@ public class TeredorWarzone extends AbstractInstance
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "enterInstance": case "enterInstance":
@@ -200,7 +198,6 @@ public class TeredorWarzone extends AbstractInstance
{ {
final Instance playerInstance = getPlayerInstance(player); final Instance playerInstance = getPlayerInstance(player);
final Party playerParty = player.getParty(); final Party playerParty = player.getParty();
if ((playerInstance != null) && (playerInstance.getTemplateId() == TEMPLATE_ID)) if ((playerInstance != null) && (playerInstance.getTemplateId() == TEMPLATE_ID))
{ {
enterInstance(player, npc, TEMPLATE_ID); enterInstance(player, npc, TEMPLATE_ID);
@@ -289,7 +286,6 @@ public class TeredorWarzone extends AbstractInstance
final Creature creature = event.getSeen(); final Creature creature = event.getSeen();
final Npc npc = (Npc) event.getSeer(); final Npc npc = (Npc) event.getSeer();
final Instance instance = npc.getInstanceWorld(); final Instance instance = npc.getInstanceWorld();
if (isInInstance(instance)) if (isInInstance(instance))
{ {
final StatSet npcParams = npc.getParameters(); final StatSet npcParams = npc.getParameters();
@@ -475,7 +471,6 @@ public class TeredorWarzone extends AbstractInstance
final StatSet npcVars = npc.getVariables(); final StatSet npcVars = npc.getVariables();
final int hpPer = npc.getCurrentHpPercent(); final int hpPer = npc.getCurrentHpPercent();
int teredorStatus = npcVars.getInt("TEREDOR_STATUS", 1); int teredorStatus = npcVars.getInt("TEREDOR_STATUS", 1);
if ((npc.calculateDistance3D(attacker) > 450) && (getRandom(100) < 5)) if ((npc.calculateDistance3D(attacker) > 450) && (getRandom(100) < 5))
{ {
addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23); addSkillCastDesire(npc, attacker, TEREDOR_POISON_SKILL, 23);

View File

@@ -227,7 +227,6 @@ public class Stage1 extends AbstractInstance implements IXmlReader
NamedNodeMap attrs = e.getAttributes(); NamedNodeMap attrs = e.getAttributes();
final int npcId = parseInteger(attrs, "npcId"); final int npcId = parseInteger(attrs, "npcId");
final int flag = parseInteger(attrs, "flag"); final int flag = parseInteger(attrs, "flag");
if (!_spawnList.containsKey(flag)) if (!_spawnList.containsKey(flag))
{ {
_spawnList.put(flag, new ArrayList<>()); _spawnList.put(flag, new ArrayList<>());
@@ -246,7 +245,6 @@ public class Stage1 extends AbstractInstance implements IXmlReader
spw.z = parseInteger(attrs, "z"); spw.z = parseInteger(attrs, "z");
spw.h = parseInteger(attrs, "heading"); spw.h = parseInteger(attrs, "heading");
spw.isNeededNextFlag = parseBoolean(attrs, "mustKill", false); spw.isNeededNextFlag = parseBoolean(attrs, "mustKill", false);
if (spw.isNeededNextFlag) if (spw.isNeededNextFlag)
{ {
killIds.add(npcId); killIds.add(npcId);
@@ -263,7 +261,6 @@ public class Stage1 extends AbstractInstance implements IXmlReader
spw.zone = parseInteger(attrs, "id"); spw.zone = parseInteger(attrs, "id");
spw.count = parseInteger(attrs, "count"); spw.count = parseInteger(attrs, "count");
spw.isNeededNextFlag = parseBoolean(attrs, "mustKill", false); spw.isNeededNextFlag = parseBoolean(attrs, "mustKill", false);
if (spw.isNeededNextFlag) if (spw.isNeededNextFlag)
{ {
killIds.add(npcId); killIds.add(npcId);

View File

@@ -140,14 +140,12 @@ public class CavernOfThePirateCaptain extends AbstractInstance
{ {
final List<Npc> candles = new ArrayList<>(); final List<Npc> candles = new ArrayList<>();
final int zakenRoom = getRandom(1, 15); final int zakenRoom = getRandom(1, 15);
for (int i = 0; i < 36; i++) for (int i = 0; i < 36; i++)
{ {
final Npc candle = addSpawn(CANDLE, CANDLE_LOC[i], false, 0, false, instance.getId()); final Npc candle = addSpawn(CANDLE, CANDLE_LOC[i], false, 0, false, instance.getId());
candle.getVariables().set("candleId", i + 1); candle.getVariables().set("candleId", i + 1);
candles.add(candle); candles.add(candle);
} }
for (int i = 3; i < 7; i++) for (int i = 3; i < 7; i++)
{ {
candles.get(ROOM_DATA[zakenRoom - 1][i] - 1).getVariables().set("isBlue", 1); candles.get(ROOM_DATA[zakenRoom - 1][i] - 1).getVariables().set("isBlue", 1);

View File

@@ -65,7 +65,6 @@ public class AdventureGuildsman extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "AdventureGuildsman-Aden.html": case "AdventureGuildsman-Aden.html":

View File

@@ -68,7 +68,6 @@ public class AdventurersGuide extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "guide-01.html": case "guide-01.html":

View File

@@ -75,7 +75,6 @@ public class AlchemistManager extends AbstractNpcAI
if (player.getRace() == Race.ERTHEIA) if (player.getRace() == Race.ERTHEIA)
{ {
final List<SkillLearn> alchemySkills = SkillTreeData.getInstance().getAvailableAlchemySkills(player); final List<SkillLearn> alchemySkills = SkillTreeData.getInstance().getAvailableAlchemySkills(player);
if (alchemySkills.isEmpty()) if (alchemySkills.isEmpty())
{ {
player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN);

View File

@@ -41,7 +41,6 @@ public class BlackJudge extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
if (event.equals("weakenBreath")) if (event.equals("weakenBreath"))
{ {
if (player.getShilensBreathDebuffLevel() >= 3) if (player.getShilensBreathDebuffLevel() >= 3)

View File

@@ -52,7 +52,6 @@ public class BlackMarketeerOfMammon extends AbstractNpcAI
{ {
final StringTokenizer st = new StringTokenizer(event, " "); final StringTokenizer st = new StringTokenizer(event, " ");
event = st.nextToken(); event = st.nextToken();
if (!st.hasMoreElements()) if (!st.hasMoreElements())
{ {
return "31092-02.html"; return "31092-02.html";
@@ -66,7 +65,6 @@ public class BlackMarketeerOfMammon extends AbstractNpcAI
final long count = Integer.parseInt(value); final long count = Integer.parseInt(value);
final long AAcount = player.getAncientAdena(); final long AAcount = player.getAncientAdena();
if (count < 1) if (count < 1)
{ {
return "31092-02.html"; return "31092-02.html";
@@ -75,7 +73,6 @@ public class BlackMarketeerOfMammon extends AbstractNpcAI
if (count > AAcount) if (count > AAcount)
{ {
return "31092-03.html"; return "31092-03.html";
} }
takeItems(player, Inventory.ANCIENT_ADENA_ID, count); takeItems(player, Inventory.ANCIENT_ADENA_ID, count);
giveAdena(player, count, false); giveAdena(player, count, false);

View File

@@ -638,7 +638,6 @@ public class CastleChamberlain extends AbstractNpcAI
final int level = Integer.parseInt(st.nextToken()); final int level = Integer.parseInt(st.nextToken());
final int price = getTrapUpgradePrice(level); final int price = getTrapUpgradePrice(level);
final int currentLevel = castle.getTrapUpgradeLevel(trapIndex); final int currentLevel = castle.getTrapUpgradeLevel(trapIndex);
if (currentLevel >= level) if (currentLevel >= level)
{ {
final NpcHtmlMessage html = getHtmlPacket(player, npc, "chamberlain-19.html"); final NpcHtmlMessage html = getHtmlPacket(player, npc, "chamberlain-19.html");
@@ -1140,7 +1139,6 @@ public class CastleChamberlain extends AbstractNpcAI
else if (isMyLord) else if (isMyLord)
{ {
final int cloakId = npc.getCastle().getSide() == CastleSide.DARK ? LORD_CLOAK_OF_DARK : LORD_CLOAK_OF_LIGHT; final int cloakId = npc.getCastle().getSide() == CastleSide.DARK ? LORD_CLOAK_OF_DARK : LORD_CLOAK_OF_LIGHT;
if (hasQuestItems(player, cloakId)) if (hasQuestItems(player, cloakId))
{ {
htmltext = "chamberlain-03.html"; htmltext = "chamberlain-03.html";

View File

@@ -349,7 +349,6 @@ public class CastleCourtMagician extends AbstractNpcAI
if (player.getClanId() == npc.getCastle().getOwnerId()) if (player.getClanId() == npc.getCastle().getOwnerId())
{ {
final PlayerInstance clanLeader = player.getClan().getLeader().getPlayerInstance(); final PlayerInstance clanLeader = player.getClan().getLeader().getPlayerInstance();
if ((clanLeader != null) && clanLeader.isAffectedBySkill(CLAN_GATE)) if ((clanLeader != null) && clanLeader.isAffectedBySkill(CLAN_GATE))
{ {
if (CallPc.checkSummonTargetStatus(player, clanLeader)) // TODO: Custom one, retail dont check it but for sure lets check same conditions like when summon player by skill. if (CallPc.checkSummonTargetStatus(player, clanLeader)) // TODO: Custom one, retail dont check it but for sure lets check same conditions like when summon player by skill.
@@ -369,7 +368,6 @@ public class CastleCourtMagician extends AbstractNpcAI
case "giveCloak": case "giveCloak":
{ {
final int cloakId = npc.getCastle().getSide() == CastleSide.DARK ? CLOAK_OF_DARK : CLOAK_OF_LIGHT; final int cloakId = npc.getCastle().getSide() == CastleSide.DARK ? CLOAK_OF_DARK : CLOAK_OF_LIGHT;
if (hasQuestItems(player, cloakId)) if (hasQuestItems(player, cloakId))
{ {
htmltext = "courtmagician-08.html"; htmltext = "courtmagician-08.html";

View File

@@ -77,7 +77,6 @@ public class CastleDoorManager extends AbstractNpcAI
final StringTokenizer st = new StringTokenizer(event, " "); final StringTokenizer st = new StringTokenizer(event, " ");
final String action = st.nextToken(); final String action = st.nextToken();
String htmltext = null; String htmltext = null;
switch (action) switch (action)
{ {
case "manageDoors": case "manageDoors":
@@ -94,7 +93,6 @@ public class CastleDoorManager extends AbstractNpcAI
final boolean open = st.nextToken().equals("1"); final boolean open = st.nextToken().equals("1");
final String doorName1 = npc.getParameters().getString("DoorName1", null); final String doorName1 = npc.getParameters().getString("DoorName1", null);
final String doorName2 = npc.getParameters().getString("DoorName2", null); final String doorName2 = npc.getParameters().getString("DoorName2", null);
castle.openCloseDoor(player, doorName1, open); castle.openCloseDoor(player, doorName1, open);
castle.openCloseDoor(player, doorName2, open); castle.openCloseDoor(player, doorName2, open);
} }
@@ -110,7 +108,6 @@ public class CastleDoorManager extends AbstractNpcAI
if (isOwningClan(player, npc) && st.hasMoreTokens()) if (isOwningClan(player, npc) && st.hasMoreTokens())
{ {
final int param = Integer.parseInt(st.nextToken()); final int param = Integer.parseInt(st.nextToken());
if (param == 1) if (param == 1)
{ {
final int x = npc.getParameters().getInt("pos_x01"); final int x = npc.getParameters().getInt("pos_x01");

View File

@@ -67,7 +67,6 @@ public class ClanHallAuctioneer extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "ClanHallAuctioneer.html": case "ClanHallAuctioneer.html":

View File

@@ -63,7 +63,6 @@ public class ClanHallDoorManager extends AbstractNpcAI
final String action = st.nextToken(); final String action = st.nextToken();
final ClanHall clanHall = npc.getClanHall(); final ClanHall clanHall = npc.getClanHall();
String htmltext = null; String htmltext = null;
if (clanHall != null) if (clanHall != null)
{ {
switch (action) switch (action)

View File

@@ -112,7 +112,6 @@ public class ClanHallManager extends AbstractNpcAI
final String action = st.nextToken(); final String action = st.nextToken();
final ClanHall clanHall = npc.getClanHall(); final ClanHall clanHall = npc.getClanHall();
String htmltext = null; String htmltext = null;
if ((clanHall != null) && isOwningClan(player, npc)) if ((clanHall != null) && isOwningClan(player, npc))
{ {
switch (action) switch (action)
@@ -325,7 +324,6 @@ public class ClanHallManager extends AbstractNpcAI
{ {
final int funcId = Integer.parseInt(st.nextToken()); final int funcId = Integer.parseInt(st.nextToken());
final int funcLv = Integer.parseInt(st.nextToken()); final int funcLv = Integer.parseInt(st.nextToken());
final ResidenceFunction oldFunc = clanHall.getFunction(funcId, funcLv); final ResidenceFunction oldFunc = clanHall.getFunction(funcId, funcLv);
if (oldFunc != null) if (oldFunc != null)
{ {
@@ -378,7 +376,6 @@ public class ClanHallManager extends AbstractNpcAI
if (st.countTokens() == 2) if (st.countTokens() == 2)
{ {
final String act = st.nextToken(); final String act = st.nextToken();
final ResidenceFunctionType funcType = ResidenceFunctionType.valueOf(st.nextToken()); final ResidenceFunctionType funcType = ResidenceFunctionType.valueOf(st.nextToken());
if (funcType != null) if (funcType != null)
{ {
@@ -436,7 +433,6 @@ public class ClanHallManager extends AbstractNpcAI
{ {
String htmltext = null; String htmltext = null;
final ClanHall clanHall = npc.getClanHall(); final ClanHall clanHall = npc.getClanHall();
if (isOwningClan(player, npc)) if (isOwningClan(player, npc))
{ {
if (clanHall.getCostFailDay() == 0) if (clanHall.getCostFailDay() == 0)

View File

@@ -124,7 +124,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
_spawnClassMasters = parseBoolean(attrs, "spawnClassMasters", true); _spawnClassMasters = parseBoolean(attrs, "spawnClassMasters", true);
_showPopupWindow = parseBoolean(attrs, "showPopupWindow", false); _showPopupWindow = parseBoolean(attrs, "showPopupWindow", false);
for (Node c = cm.getFirstChild(); c != null; c = c.getNextSibling()) for (Node c = cm.getFirstChild(); c != null; c = c.getNextSibling())
{ {
attrs = c.getAttributes(); attrs = c.getAttributes();
@@ -166,7 +165,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
{ {
final int itemId = parseInteger(attrs, "id"); final int itemId = parseInteger(attrs, "id");
final int count = parseInteger(attrs, "count", 1); final int count = parseInteger(attrs, "count", 1);
rewardedItems.add(new ItemHolder(itemId, count)); rewardedItems.add(new ItemHolder(itemId, count));
} }
else if ("setNoble".equals(r.getNodeName())) else if ("setNoble".equals(r.getNodeName()))
@@ -188,7 +186,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
{ {
final int itemId = parseInteger(attrs, "id"); final int itemId = parseInteger(attrs, "id");
final int count = parseInteger(attrs, "count", 1); final int count = parseInteger(attrs, "count", 1);
requiredItems.add(new ItemHolder(itemId, count)); requiredItems.add(new ItemHolder(itemId, count));
} }
} }
@@ -894,7 +891,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event) public void onPlayerPressTutorialMark(OnPlayerPressTutorialMark event)
{ {
final PlayerInstance player = event.getPlayer(); final PlayerInstance player = event.getPlayer();
if (!_showPopupWindow || (event.getMarkId() != 1001)) if (!_showPopupWindow || (event.getMarkId() != 1001))
{ {
return; return;
@@ -961,7 +957,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
private String getClassChangeOptions(PlayerInstance player, int selectedClassId) private String getClassChangeOptions(PlayerInstance player, int selectedClassId)
{ {
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
for (int i = 0; i < _classChangeData.size(); i++) for (int i = 0; i < _classChangeData.size(); i++)
{ {
final ClassChangeData option = getClassChangeData(i); final ClassChangeData option = getClassChangeData(i);
@@ -1004,7 +999,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
else else
{ {
option.getItemsRewarded().forEach(ih -> sb.append("<tr><td><font color=\"LEVEL\">" + ih.getCount() + "</font></td><td>" + ItemTable.getInstance().getTemplate(ih.getId()).getName() + "</td><td width=30></td></tr>")); option.getItemsRewarded().forEach(ih -> sb.append("<tr><td><font color=\"LEVEL\">" + ih.getCount() + "</font></td><td>" + ItemTable.getInstance().getTemplate(ih.getId()).getName() + "</td><td width=30></td></tr>"));
if (option.isRewardNoblesse()) if (option.isRewardNoblesse())
{ {
sb.append("<tr><td><font color=\"LEVEL\">Noblesse status.</font></td></tr>"); sb.append("<tr><td><font color=\"LEVEL\">Noblesse status.</font></td></tr>");
@@ -1059,7 +1053,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
} }
} }
} }
return false; return false;
} }
@@ -1111,7 +1104,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
{ {
showOptions = _classChangeData.stream().filter(ccd -> !ccd.getItemsRewarded().isEmpty()).filter(ccd -> ccd.isInCategory(player)).count() > 1; // Check if there is more than 1 reward to chose. showOptions = _classChangeData.stream().filter(ccd -> !ccd.getItemsRewarded().isEmpty()).filter(ccd -> ccd.isInCategory(player)).count() > 1; // Check if there is more than 1 reward to chose.
} }
return showOptions; return showOptions;
} }
@@ -1121,7 +1113,6 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
{ {
return _classChangeData.get(index); return _classChangeData.get(index);
} }
return null; return null;
} }

View File

@@ -76,7 +76,6 @@ public class DimensionalMerchant extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "32478.html": case "32478.html":

View File

@@ -55,7 +55,6 @@ public class DivineBeast extends AbstractNpcAI
cancelQuestTimer(event, npc, player); cancelQuestTimer(event, npc, player);
player.getServitors().values().forEach(summon -> summon.unSummon(player)); player.getServitors().values().forEach(summon -> summon.unSummon(player));
} }
return super.onAdvEvent(event, npc, player); return super.onAdvEvent(event, npc, player);
} }

View File

@@ -68,7 +68,6 @@ public class FleeMonsters extends AbstractNpcAI
final int posX = (int) (npc.getX() + (FLEE_DISTANCE * Math.cos(radians))); final int posX = (int) (npc.getX() + (FLEE_DISTANCE * Math.cos(radians)));
final int posY = (int) (npc.getY() + (FLEE_DISTANCE * Math.sin(radians))); final int posY = (int) (npc.getY() + (FLEE_DISTANCE * Math.sin(radians)));
final int posZ = npc.getZ(); final int posZ = npc.getZ();
final Location destination = GeoEngine.getInstance().canMoveToTargetLoc(npc.getX(), npc.getY(), npc.getZ(), posX, posY, posZ, attacker.getInstanceWorld()); final Location destination = GeoEngine.getInstance().canMoveToTargetLoc(npc.getX(), npc.getY(), npc.getZ(), posX, posY, posZ, attacker.getInstanceWorld());
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, destination); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, destination);
return super.onAttack(npc, attacker, damage, isSummon); return super.onAttack(npc, attacker, damage, isSummon);

View File

@@ -93,7 +93,6 @@ public class FortressSiegeManager extends AbstractNpcAI
final Clan clan = player.getClan(); final Clan clan = player.getClan();
final Fort fortress = npc.getFort(); final Fort fortress = npc.getFort();
final Castle castle = npc.getCastle(); final Castle castle = npc.getCastle();
if (clan.getFortId() == fortress.getResidenceId()) if (clan.getFortId() == fortress.getResidenceId())
{ {
final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId());
@@ -163,7 +162,6 @@ public class FortressSiegeManager extends AbstractNpcAI
{ {
final Clan clan = player.getClan(); final Clan clan = player.getClan();
final Fort fortress = npc.getFort(); final Fort fortress = npc.getFort();
if (clan.getFortId() == fortress.getResidenceId()) if (clan.getFortId() == fortress.getResidenceId())
{ {
final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId());

View File

@@ -66,7 +66,6 @@ public class GrandBossTeleporters extends AbstractNpcAI
{ {
String htmltext = ""; String htmltext = "";
final QuestState qs = getQuestState(player, false); final QuestState qs = getQuestState(player, false);
if (hasQuestItems(player, VACUALITE_FLOATING_STONE)) if (hasQuestItems(player, VACUALITE_FLOATING_STONE))
{ {
player.teleToLocation(ENTER_HALL_OF_FLAMES); player.teleToLocation(ENTER_HALL_OF_FLAMES);
@@ -92,7 +91,6 @@ public class GrandBossTeleporters extends AbstractNpcAI
if (valakasAI() != null) if (valakasAI() != null)
{ {
final int status = GrandBossManager.getInstance().getBossStatus(29028); final int status = GrandBossManager.getInstance().getBossStatus(29028);
if ((status == 0) || (status == 1)) if ((status == 0) || (status == 1))
{ {
if (playerCount >= 200) if (playerCount >= 200)
@@ -103,7 +101,6 @@ public class GrandBossTeleporters extends AbstractNpcAI
{ {
qs.unset("allowEnter"); qs.unset("allowEnter");
player.teleToLocation(TELEPORT_INTO_VALAKAS_LAIR.getX() + getRandom(600), TELEPORT_INTO_VALAKAS_LAIR.getY() + getRandom(600), TELEPORT_INTO_VALAKAS_LAIR.getZ()); player.teleToLocation(TELEPORT_INTO_VALAKAS_LAIR.getX() + getRandom(600), TELEPORT_INTO_VALAKAS_LAIR.getY() + getRandom(600), TELEPORT_INTO_VALAKAS_LAIR.getZ());
playerCount++; playerCount++;
if (status == 0) if (status == 0)

View File

@@ -94,7 +94,6 @@ public class HermuncusMinion extends AbstractNpcAI
String htmltext = null; String htmltext = null;
final StringTokenizer st = new StringTokenizer(event, " "); final StringTokenizer st = new StringTokenizer(event, " ");
event = st.nextToken(); event = st.nextToken();
if (event.equals("teleportList")) if (event.equals("teleportList"))
{ {
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP)) if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
@@ -126,7 +125,6 @@ public class HermuncusMinion extends AbstractNpcAI
else if (event.equals("teleport") && st.hasMoreTokens()) else if (event.equals("teleport") && st.hasMoreTokens())
{ {
final int locId = Integer.parseInt(st.nextToken()); final int locId = Integer.parseInt(st.nextToken());
if (player.getAdena() < 150000) if (player.getAdena() < 150000)
{ {
player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA); player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ADENA);

View File

@@ -142,7 +142,6 @@ public class LaVieEnRose extends AbstractNpcAI
// player.sendPacket(SystemMessageId.YOU_CANNOT_USE_THE_BEAUTY_SHOP_AS_THE_NPC_SERVER_IS_CURRENTLY_NOT_IN_FUNCTION); // player.sendPacket(SystemMessageId.YOU_CANNOT_USE_THE_BEAUTY_SHOP_AS_THE_NPC_SERVER_IS_CURRENTLY_NOT_IN_FUNCTION);
// player.sendPacket(SystemMessageId.YOU_CANNOT_USE_THE_BEAUTY_SHOP_WHILE_USING_THE_AUTOMATIC_REPLACEMENT); // player.sendPacket(SystemMessageId.YOU_CANNOT_USE_THE_BEAUTY_SHOP_WHILE_USING_THE_AUTOMATIC_REPLACEMENT);
return true; return true;
} }

View File

@@ -87,7 +87,6 @@ public class Mammons extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "31126.html": case "31126.html":
@@ -114,11 +113,9 @@ public class Mammons extends AbstractNpcAI
final Npc merchant = addSpawn(MAMMONS[1], MERCHANT_LOC[town]); final Npc merchant = addSpawn(MAMMONS[1], MERCHANT_LOC[town]);
final Npc priest = addSpawn(MAMMONS[2], PRIEST_LOC[town]); final Npc priest = addSpawn(MAMMONS[2], PRIEST_LOC[town]);
_mammons.addAll(Arrays.asList(blacksmith, merchant, priest)); _mammons.addAll(Arrays.asList(blacksmith, merchant, priest));
if (blacksmith != null) if (blacksmith != null)
{ {
blacksmith.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(RANDOM_SAY)); blacksmith.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(RANDOM_SAY));
if (Config.ANNOUNCE_MAMMON_SPAWN) if (Config.ANNOUNCE_MAMMON_SPAWN)
{ {
Broadcast.toAllOnlinePlayers("Mammon's has been spawned in Town of " + blacksmith.getCastle().getName() + ".", false); Broadcast.toAllOnlinePlayers("Mammon's has been spawned in Town of " + blacksmith.getCastle().getName() + ".", false);

View File

@@ -147,7 +147,6 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = event; String htmltext = event;
if (event.equalsIgnoreCase("exchange")) if (event.equalsIgnoreCase("exchange"))
{ {
if (hasQuestItems(player, MENTEE_CERT) && (player.getLevel() >= MAX_LEVEL) && player.isAwakenedClass()) if (hasQuestItems(player, MENTEE_CERT) && (player.getLevel() >= MAX_LEVEL) && player.isAwakenedClass())
@@ -227,7 +226,6 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
public void OnPlayerMenteeStatus(OnPlayerMenteeStatus event) public void OnPlayerMenteeStatus(OnPlayerMenteeStatus event)
{ {
final PlayerInstance player = event.getMentee(); final PlayerInstance player = event.getMentee();
if (event.isMenteeOnline()) if (event.isMenteeOnline())
{ {
final Mentee mentor = MentorManager.getInstance().getMentor(player.getObjectId()); final Mentee mentor = MentorManager.getInstance().getMentor(player.getObjectId());
@@ -294,12 +292,10 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
public void OnPlayerMentorStatus(OnPlayerMentorStatus event) public void OnPlayerMentorStatus(OnPlayerMentorStatus event)
{ {
final PlayerInstance player = event.getMentor(); final PlayerInstance player = event.getMentor();
if (event.isMentorOnline()) if (event.isMentorOnline())
{ {
// stop buffs removal task // stop buffs removal task
cancelQuestTimer("REMOVE_BUFFS " + player.getObjectId(), null, null); cancelQuestTimer("REMOVE_BUFFS " + player.getObjectId(), null, null);
MentorManager.getInstance().getMentees(player.getObjectId()).stream().filter(Objects::nonNull).filter(Mentee::isOnline).forEach(mentee -> MentorManager.getInstance().getMentees(player.getObjectId()).stream().filter(Objects::nonNull).filter(Mentee::isOnline).forEach(mentee ->
{ {
//@formatter:off //@formatter:off
@@ -353,7 +349,6 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
public void onProfessionChange(OnPlayerProfessionChange event) public void onProfessionChange(OnPlayerProfessionChange event)
{ {
final PlayerInstance player = event.getPlayer(); final PlayerInstance player = event.getPlayer();
if (player.isMentor()) if (player.isMentor())
{ {
// Give mentor's buffs only if he didn't had them. // Give mentor's buffs only if he didn't had them.
@@ -388,7 +383,6 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
} }
checkLevelForReward(player); // Checking level to send a mail if is necessary checkLevelForReward(player); // Checking level to send a mail if is necessary
if (player.getLevel() > MAX_LEVEL) if (player.getLevel() > MAX_LEVEL)
{ {
handleGraduateMentee(player); handleGraduateMentee(player);
@@ -434,7 +428,6 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
final Mentee mentee = event.getMentee(); final Mentee mentee = event.getMentee();
final PlayerInstance mentor = event.getMentor(); final PlayerInstance mentor = event.getMentor();
final PlayerInstance player = mentee.getPlayerInstance(); final PlayerInstance player = mentee.getPlayerInstance();
if (player != null) if (player != null)
{ {
// Remove the mentee skills // Remove the mentee skills
@@ -486,11 +479,9 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
{ {
MentorManager.getInstance().setPenalty(mentor.getObjectId(), Config.MENTOR_PENALTY_FOR_MENTEE_COMPLETE); MentorManager.getInstance().setPenalty(mentor.getObjectId(), Config.MENTOR_PENALTY_FOR_MENTEE_COMPLETE);
MentorManager.getInstance().deleteMentor(mentor.getObjectId(), player.getObjectId()); MentorManager.getInstance().deleteMentor(mentor.getObjectId(), player.getObjectId());
if (mentor.isOnline()) if (mentor.isOnline())
{ {
mentor.sendPacket(new SystemMessage(SystemMessageId.S1_HAS_AWAKENED_AND_THE_MENTOR_MENTEE_RELATIONSHIP_HAS_ENDED_THE_MENTOR_CANNOT_OBTAIN_ANOTHER_MENTEE_FOR_ONE_DAY_AFTER_THE_MENTEE_S_GRADUATION).addPcName(player)); mentor.sendPacket(new SystemMessage(SystemMessageId.S1_HAS_AWAKENED_AND_THE_MENTOR_MENTEE_RELATIONSHIP_HAS_ENDED_THE_MENTOR_CANNOT_OBTAIN_ANOTHER_MENTEE_FOR_ONE_DAY_AFTER_THE_MENTEE_S_GRADUATION).addPcName(player));
if (MentorManager.getInstance().isAllMenteesOffline(mentor.getObjectId(), player.getObjectId())) if (MentorManager.getInstance().isAllMenteesOffline(mentor.getObjectId(), player.getObjectId()))
{ {
MentorManager.getInstance().cancelAllMentoringBuffs(mentor.getPlayerInstance()); MentorManager.getInstance().cancelAllMentoringBuffs(mentor.getPlayerInstance());
@@ -503,9 +494,7 @@ public class MentorGuide extends AbstractNpcAI implements IXmlReader
// Clear mentee status // Clear mentee status
player.sendPacket(new ExMentorList(player)); player.sendPacket(new ExMentorList(player));
player.sendPacket(new SystemMessage(SystemMessageId.YOUR_MENTOR_MENTEE_RELATIONSHIP_WITH_YOUR_MENTOR_S1_HAS_ENDED_AS_YOU_ARE_AN_AWAKENED_CHARACTER_OF_LV_85_OR_ABOVE_YOU_CAN_NO_LONGER_BE_PAIRED_WITH_A_MENTOR).addPcName(player)); player.sendPacket(new SystemMessage(SystemMessageId.YOUR_MENTOR_MENTEE_RELATIONSHIP_WITH_YOUR_MENTOR_S1_HAS_ENDED_AS_YOU_ARE_AN_AWAKENED_CHARACTER_OF_LV_85_OR_ABOVE_YOU_CAN_NO_LONGER_BE_PAIRED_WITH_A_MENTOR).addPcName(player));
sendMail(player.getObjectId(), MENTEE_GRADUATE_TITLE, MENTEE_GRADUATE_BODY, MENTEE_CERT, 1); sendMail(player.getObjectId(), MENTEE_GRADUATE_TITLE, MENTEE_GRADUATE_BODY, MENTEE_CERT, 1);
} }
} }

View File

@@ -88,7 +88,6 @@ public class Minigame extends AbstractNpcAI
takeItems(player, UNLIT_TORCHLIGHT, 1); takeItems(player, UNLIT_TORCHLIGHT, 1);
giveItems(player, TORCHLIGHT, 1); giveItems(player, TORCHLIGHT, 1);
npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_LL_START_THE_FURNACE_MECHANISM_WATCH_FOR_THE_PATTERN); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.I_LL_START_THE_FURNACE_MECHANISM_WATCH_FOR_THE_PATTERN);
room.getManager().setTarget(player); room.getManager().setTarget(player);
room.setParticipant(player); room.setParticipant(player);
room.setStarted(true); room.setStarted(true);
@@ -99,7 +98,6 @@ public class Minigame extends AbstractNpcAI
cancelQuestTimer("hurry_up", npc, null); cancelQuestTimer("hurry_up", npc, null);
cancelQuestTimer("hurry_up2", npc, null); cancelQuestTimer("hurry_up2", npc, null);
cancelQuestTimer("expire", npc, null); cancelQuestTimer("expire", npc, null);
startQuestTimer("hurry_up", 120000, npc, null); startQuestTimer("hurry_up", 120000, npc, null);
startQuestTimer("expire", 190000, npc, null); startQuestTimer("expire", 190000, npc, null);
startQuestTimer("start", 1000, npc, null); startQuestTimer("start", 1000, npc, null);
@@ -204,7 +202,6 @@ public class Minigame extends AbstractNpcAI
String htmltext = null; String htmltext = null;
final MinigameRoom room = getRoomByManager(npc); final MinigameRoom room = getRoomByManager(npc);
final boolean miniGameStarted = room.getStarted(); final boolean miniGameStarted = room.getStarted();
if (npc.getTarget() == null) if (npc.getTarget() == null)
{ {
htmltext = (miniGameStarted ? "32758-08.html" : "32758.html"); htmltext = (miniGameStarted ? "32758-08.html" : "32758.html");
@@ -218,7 +215,6 @@ public class Minigame extends AbstractNpcAI
else else
{ {
final int attemptNumber = room.getAttemptNumber(); final int attemptNumber = room.getAttemptNumber();
if (attemptNumber == 2) if (attemptNumber == 2)
{ {
htmltext = "32758-02.html"; htmltext = "32758-02.html";
@@ -233,7 +229,6 @@ public class Minigame extends AbstractNpcAI
{ {
htmltext = "32758-04.html"; htmltext = "32758-04.html";
} }
return htmltext; return htmltext;
} }
@@ -323,7 +318,6 @@ public class Minigame extends AbstractNpcAI
final Npc[] burners = new Npc[9]; final Npc[] burners = new Npc[9];
Npc lastSpawn; Npc lastSpawn;
int potNumber = 0; int potNumber = 0;
for (Spawn spawn : SpawnTable.getInstance().getSpawns(BURNER)) for (Spawn spawn : SpawnTable.getInstance().getSpawns(BURNER))
{ {
lastSpawn = spawn.getLastSpawn(); lastSpawn = spawn.getLastSpawn();

View File

@@ -78,7 +78,6 @@ public class MonumentOfHeroes extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "MonumentOfHeroes-reward.html": case "MonumentOfHeroes-reward.html":

View File

@@ -52,7 +52,6 @@ public class MysteriousWizard extends AbstractNpcAI
String htmltext = null; String htmltext = null;
final QuestState qs = player.getQuestState(Q10751_WindsOfFateEncounters.class.getSimpleName()); final QuestState qs = player.getQuestState(Q10751_WindsOfFateEncounters.class.getSimpleName());
final Instance world = npc.getInstanceWorld(); final Instance world = npc.getInstanceWorld();
if (isFotDInstance(world)) if (isFotDInstance(world))
{ {
htmltext = "33980.html"; htmltext = "33980.html";

View File

@@ -81,7 +81,6 @@ class NpcBufferAI implements Runnable
} }
final PlayerInstance player = _npc.getSummoner().getActingPlayer(); final PlayerInstance player = _npc.getSummoner().getActingPlayer();
final Skill skill = getSkill(player); final Skill skill = getSkill(player);
if (skill == null) if (skill == null)
{ {

View File

@@ -57,7 +57,6 @@ public class OlyBuffer extends AbstractNpcAI
public String onFirstTalk(Npc npc, PlayerInstance player) public String onFirstTalk(Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
if (npc.isScriptValue(0)) if (npc.isScriptValue(0))
{ {
htmltext = "olympiad_master001.htm"; htmltext = "olympiad_master001.htm";
@@ -69,7 +68,6 @@ public class OlyBuffer extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "guardian": case "guardian":
@@ -91,7 +89,6 @@ public class OlyBuffer extends AbstractNpcAI
npc.setScriptValue(1); npc.setScriptValue(1);
htmltext = "olympiad_master003.htm"; htmltext = "olympiad_master003.htm";
getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe()); getTimers().addTimer("DELETE_ME", 5000, evnt -> npc.deleteMe());
return htmltext; return htmltext;
} }

View File

@@ -89,7 +89,6 @@ public class OlyManager extends AbstractNpcAI implements IBypassHandler
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "OlyManager-info.html": case "OlyManager-info.html":
@@ -204,7 +203,6 @@ public class OlyManager extends AbstractNpcAI implements IBypassHandler
case "showEquipmentReward": case "showEquipmentReward":
{ {
int multisellId = -1; int multisellId = -1;
if (player.getClassId() == ClassId.SAYHA_SEER) if (player.getClassId() == ClassId.SAYHA_SEER)
{ {
multisellId = 926; multisellId = 926;
@@ -271,7 +269,6 @@ public class OlyManager extends AbstractNpcAI implements IBypassHandler
final int classId = Integer.parseInt(event.replace("rank_", "")); final int classId = Integer.parseInt(event.replace("rank_", ""));
final List<String> names = Olympiad.getInstance().getClassLeaderBoard(classId); final List<String> names = Olympiad.getInstance().getClassLeaderBoard(classId);
htmltext = getHtm(player, "OlyManager-rankDetail.html"); htmltext = getHtm(player, "OlyManager-rankDetail.html");
int index = 1; int index = 1;
for (String name : names) for (String name : names)
{ {
@@ -298,7 +295,6 @@ public class OlyManager extends AbstractNpcAI implements IBypassHandler
public String onFirstTalk(Npc npc, PlayerInstance player) public String onFirstTalk(Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
if (!player.isCursedWeaponEquipped()) if (!player.isCursedWeaponEquipped())
{ {
htmltext = player.isNoble() ? "OlyManager-noble.html" : "OlyManager-noNoble.html"; htmltext = player.isNoble() ? "OlyManager-noble.html" : "OlyManager-noNoble.html";
@@ -316,7 +312,6 @@ public class OlyManager extends AbstractNpcAI implements IBypassHandler
try try
{ {
final Npc olymanager = player.getLastFolkNPC(); final Npc olymanager = player.getLastFolkNPC();
if (command.startsWith(BYPASSES[0])) // list if (command.startsWith(BYPASSES[0])) // list
{ {
if (!Olympiad.getInstance().inCompPeriod()) if (!Olympiad.getInstance().inCompPeriod())

View File

@@ -56,7 +56,6 @@ public class SinEater extends AbstractNpcAI
{ {
final int random = getRandom(100); final int random = getRandom(100);
final Summon summon = player.getPet(); final Summon summon = player.getPet();
if (random < 20) if (random < 20)
{ {
broadcastSummonSay(summon, NpcStringId.YAWWWWN_IT_S_SO_BORING_HERE_WE_SHOULD_GO_AND_FIND_SOME_ACTION); broadcastSummonSay(summon, NpcStringId.YAWWWWN_IT_S_SO_BORING_HERE_WE_SHOULD_GO_AND_FIND_SOME_ACTION);
@@ -90,7 +89,6 @@ public class SinEater extends AbstractNpcAI
{ {
final int random = getRandom(100); final int random = getRandom(100);
final Summon summon = (Summon) event.getTarget(); final Summon summon = (Summon) event.getTarget();
if (random < 30) if (random < 30)
{ {
broadcastSummonSay(summon, NpcStringId.OH_THIS_IS_JUST_GREAT_WHAT_ARE_YOU_GOING_TO_DO_NOW); broadcastSummonSay(summon, NpcStringId.OH_THIS_IS_JUST_GREAT_WHAT_ARE_YOU_GOING_TO_DO_NOW);
@@ -114,7 +112,6 @@ public class SinEater extends AbstractNpcAI
{ {
final int random = getRandom(100); final int random = getRandom(100);
final Summon summon = (Summon) event.getTarget(); final Summon summon = (Summon) event.getTarget();
if (random < 35) if (random < 35)
{ {
broadcastSummonSay(summon, NpcStringId.OH_THAT_SMARTS); broadcastSummonSay(summon, NpcStringId.OH_THAT_SMARTS);
@@ -143,7 +140,6 @@ public class SinEater extends AbstractNpcAI
if (getRandom(100) < 10) if (getRandom(100) < 10)
{ {
final int random = getRandom(100); final int random = getRandom(100);
if (random < 25) if (random < 25)
{ {
broadcastSummonSay(summon, NpcStringId.USING_A_SPECIAL_SKILL_HERE_COULD_TRIGGER_A_BLOODBATH); broadcastSummonSay(summon, NpcStringId.USING_A_SPECIAL_SKILL_HERE_COULD_TRIGGER_A_BLOODBATH);

View File

@@ -133,7 +133,6 @@ public class TersisHerald extends AbstractNpcAI
} }
World.getInstance().getPlayers().stream().forEach(p -> showOnScreenMsg(p, npcStringId, 2, 10000, true)); World.getInstance().getPlayers().stream().forEach(p -> showOnScreenMsg(p, npcStringId, 2, 10000, true));
if (!SPAWNED_NPCS.isEmpty()) if (!SPAWNED_NPCS.isEmpty())
{ {
getTimers().cancelTimers("DESPAWN_NPCS"); getTimers().cancelTimers("DESPAWN_NPCS");

View File

@@ -62,7 +62,6 @@ public class TrainingCamp extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
if (!Config.TRAINING_CAMP_ENABLE || !checkConditions(player)) if (!Config.TRAINING_CAMP_ENABLE || !checkConditions(player))
{ {
return htmltext; return htmltext;

View File

@@ -88,7 +88,6 @@ public class ClassTransferTalk extends AbstractNpcAI
public String onAdvEvent(String event, Npc npc, PlayerInstance player) public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{ {
String htmltext = null; String htmltext = null;
switch (event) switch (event)
{ {
case "30565-02.html": case "30565-02.html":

View File

@@ -75,7 +75,6 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
String cmd = ""; String cmd = "";
final StringBuilder params = new StringBuilder(); final StringBuilder params = new StringBuilder();
final StringTokenizer st = new StringTokenizer(command, " "); final StringTokenizer st = new StringTokenizer(command, " ");
if (st.hasMoreTokens()) if (st.hasMoreTokens())
{ {
cmd = st.nextToken(); cmd = st.nextToken();
@@ -183,10 +182,8 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
if (!player.isSellingBuffs() && (params != null) && !params.isEmpty()) if (!player.isSellingBuffs() && (params != null) && !params.isEmpty())
{ {
final StringTokenizer st = new StringTokenizer(params, " "); final StringTokenizer st = new StringTokenizer(params, " ");
int skillId = -1; int skillId = -1;
int price = -1; int price = -1;
if (st.hasMoreTokens()) if (st.hasMoreTokens())
{ {
skillId = Integer.parseInt(st.nextToken()); skillId = Integer.parseInt(st.nextToken());
@@ -231,9 +228,7 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
if (!player.isSellingBuffs() && (params != null) && !params.isEmpty()) if (!player.isSellingBuffs() && (params != null) && !params.isEmpty())
{ {
final StringTokenizer st = new StringTokenizer(params, " "); final StringTokenizer st = new StringTokenizer(params, " ");
int skillId = -1; int skillId = -1;
if (st.hasMoreTokens()) if (st.hasMoreTokens())
{ {
skillId = Integer.parseInt(st.nextToken()); skillId = Integer.parseInt(st.nextToken());
@@ -264,10 +259,8 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
if (!player.isSellingBuffs() && (params != null) && !params.isEmpty()) if (!player.isSellingBuffs() && (params != null) && !params.isEmpty())
{ {
final StringTokenizer st = new StringTokenizer(params, " "); final StringTokenizer st = new StringTokenizer(params, " ");
int skillId = -1; int skillId = -1;
long price = -1; long price = -1;
if (st.hasMoreTokens()) if (st.hasMoreTokens())
{ {
skillId = Integer.parseInt(st.nextToken()); skillId = Integer.parseInt(st.nextToken());
@@ -325,7 +318,6 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
if ((params != null) && !params.isEmpty()) if ((params != null) && !params.isEmpty())
{ {
final StringTokenizer st = new StringTokenizer(params, " "); final StringTokenizer st = new StringTokenizer(params, " ");
int objId = -1; int objId = -1;
int index = 0; int index = 0;
if (st.hasMoreTokens()) if (st.hasMoreTokens())
@@ -359,7 +351,6 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
int objId = -1; int objId = -1;
int skillId = -1; int skillId = -1;
int index = 0; int index = 0;
if (st.hasMoreTokens()) if (st.hasMoreTokens())
{ {
objId = Integer.parseInt(st.nextToken()); objId = Integer.parseInt(st.nextToken());

View File

@@ -54,7 +54,6 @@ public class ShadowWeapons extends AbstractNpcAI
String htmltext; String htmltext;
final boolean hasD = hasQuestItems(player, 8869); // Shadow Item Exchange Coupon (D-Grade) final boolean hasD = hasQuestItems(player, 8869); // Shadow Item Exchange Coupon (D-Grade)
final boolean hasC = hasQuestItems(player, 8870); // Shadow Item Exchange Coupon (C-Grade) final boolean hasC = hasQuestItems(player, 8870); // Shadow Item Exchange Coupon (C-Grade)
if (hasD || hasC) if (hasD || hasC)
{ {
if (!hasD) if (!hasD)

View File

@@ -96,10 +96,8 @@ public class Elpies extends Event
EVENT_ACTIVE = true; EVENT_ACTIVE = true;
final EventLocation randomLoc = getRandomEntry(EventLocation.values()); final EventLocation randomLoc = getRandomEntry(EventLocation.values());
CURRENT_ELPY_COUNT = 0; CURRENT_ELPY_COUNT = 0;
final long despawnDelay = EVENT_DURATION_MINUTES * 60000; final long despawnDelay = EVENT_DURATION_MINUTES * 60000;
for (int i = 0; i < ELPY_AMOUNT; i++) for (int i = 0; i < ELPY_AMOUNT; i++)
{ {
addSpawn(ELPY, randomLoc.getRandomX(), randomLoc.getRandomY(), randomLoc.getZ(), 0, true, despawnDelay); addSpawn(ELPY, randomLoc.getRandomX(), randomLoc.getRandomY(), randomLoc.getZ(), 0, true, despawnDelay);
@@ -110,7 +108,6 @@ public class Elpies extends Event
Broadcast.toAllOnlinePlayers("Elpy invasion in " + randomLoc.getName()); Broadcast.toAllOnlinePlayers("Elpy invasion in " + randomLoc.getName());
Broadcast.toAllOnlinePlayers("Help us exterminate them!"); Broadcast.toAllOnlinePlayers("Help us exterminate them!");
Broadcast.toAllOnlinePlayers("You have " + EVENT_DURATION_MINUTES + " minutes!"); Broadcast.toAllOnlinePlayers("You have " + EVENT_DURATION_MINUTES + " minutes!");
_eventTask = ThreadPool.schedule(() -> _eventTask = ThreadPool.schedule(() ->
{ {
Broadcast.toAllOnlinePlayers("Time is up!"); Broadcast.toAllOnlinePlayers("Time is up!");
@@ -128,7 +125,6 @@ public class Elpies extends Event
} }
EVENT_ACTIVE = false; EVENT_ACTIVE = false;
if (_eventTask != null) if (_eventTask != null)
{ {
_eventTask.cancel(true); _eventTask.cancel(true);
@@ -164,7 +160,6 @@ public class Elpies extends Event
eventStop(); eventStop();
} }
} }
return super.onKill(npc, killer, isSummon); return super.onKill(npc, killer, isSummon);
} }
@@ -225,7 +220,6 @@ public class Elpies extends Event
private void dropItem(Npc mob, PlayerInstance player, int[][] droplist) private void dropItem(Npc mob, PlayerInstance player, int[][] droplist)
{ {
final int chance = getRandom(100); final int chance = getRandom(100);
for (int[] drop : droplist) for (int[] drop : droplist)
{ {
if (chance >= drop[1]) if (chance >= drop[1])

View File

@@ -158,7 +158,6 @@ public class Rabbits extends Event
// Announce event end // Announce event end
Broadcast.toAllOnlinePlayers("Rabbits Event: Event has finished."); Broadcast.toAllOnlinePlayers("Rabbits Event: Event has finished.");
return true; return true;
} }

View File

@@ -140,9 +140,7 @@ public class Race extends Event
// Schedule Event end // Schedule Event end
_eventTask = ThreadPool.schedule(this::StartRace, REGISTER_TIME * 60 * 1000); _eventTask = ThreadPool.schedule(this::StartRace, REGISTER_TIME * 60 * 1000);
return true; return true;
} }
protected void StartRace() protected void StartRace()
@@ -226,7 +224,6 @@ public class Race extends Event
_players.clear(); _players.clear();
// Announce event end // Announce event end
Broadcast.toAllOnlinePlayers("* Race Event finished *"); Broadcast.toAllOnlinePlayers("* Race Event finished *");
return true; return true;
} }
@@ -329,7 +326,6 @@ public class Race extends Event
public String onFirstTalk(Npc npc, PlayerInstance player) public String onFirstTalk(Npc npc, PlayerInstance player)
{ {
getQuestState(player, true); getQuestState(player, true);
if (npc.getId() == START_NPC) if (npc.getId() == START_NPC)
{ {
if (_isRaceStarted) if (_isRaceStarted)

View File

@@ -81,7 +81,6 @@ public class FreyaCelebration extends LongTimeEvent
final long currTime = System.currentTimeMillis(); final long currTime = System.currentTimeMillis();
final String value = player.getVariables().getString("FreyaCelebration"); final String value = player.getVariables().getString("FreyaCelebration");
final long reuseTime = value.equals("") ? 0 : Long.parseLong(value); final long reuseTime = value.equals("") ? 0 : Long.parseLong(value);
if (currTime > reuseTime) if (currTime > reuseTime)
{ {
takeItems(player, Inventory.ADENA_ID, 1); takeItems(player, Inventory.ADENA_ID, 1);

View File

@@ -63,7 +63,6 @@ public class HeavyMedal extends LongTimeEvent
{ {
String htmltext = event; String htmltext = event;
int level = checkLevel(player); int level = checkLevel(player);
if (event.equalsIgnoreCase("game")) if (event.equalsIgnoreCase("game"))
{ {
htmltext = getQuestItemsCount(player, GLITTERING_MEDAL) < MEDALS[level] ? "31229-no.htm" : "31229-game.htm"; htmltext = getQuestItemsCount(player, GLITTERING_MEDAL) < MEDALS[level] ? "31229-no.htm" : "31229-game.htm";
@@ -77,7 +76,6 @@ public class HeavyMedal extends LongTimeEvent
else else
{ {
takeItems(player, GLITTERING_MEDAL, MEDALS[level]); takeItems(player, GLITTERING_MEDAL, MEDALS[level]);
if (getRandom(100) > WIN_CHANCE) if (getRandom(100) > WIN_CHANCE)
{ {
level = 0; level = 0;

View File

@@ -43,7 +43,6 @@ public class PetInstanceAction implements IActionHandler
} }
final boolean isOwner = player.getObjectId() == ((PetInstance) target).getOwner().getObjectId(); final boolean isOwner = player.getObjectId() == ((PetInstance) target).getOwner().getObjectId();
if (isOwner && (player != ((PetInstance) target).getOwner())) if (isOwner && (player != ((PetInstance) target).getOwner()))
{ {
((PetInstance) target).updateRefOwner(player); ((PetInstance) target).updateRefOwner(player);

View File

@@ -446,7 +446,6 @@ public class AdminAdmin implements IAdminCommandHandler
replyMSG.append("<tr><td><font color=\"LEVEL\">Rate SP</font> = " + Config.RATE_SP + "</td><td><edit var=\"param2\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateSp $param2\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); replyMSG.append("<tr><td><font color=\"LEVEL\">Rate SP</font> = " + Config.RATE_SP + "</td><td><edit var=\"param2\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateSp $param2\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
replyMSG.append("<tr><td><font color=\"LEVEL\">Rate Drop Spoil</font> = " + Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER + "</td><td><edit var=\"param4\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateDropSpoil $param4\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>"); replyMSG.append("<tr><td><font color=\"LEVEL\">Rate Drop Spoil</font> = " + Config.RATE_SPOIL_DROP_CHANCE_MULTIPLIER + "</td><td><edit var=\"param4\" width=40 height=15></td><td><button value=\"Set\" action=\"bypass -h admin_setconfig RateDropSpoil $param4\" width=40 height=25 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr>");
replyMSG.append("<tr><td width=140></td><td width=40></td><td width=40></td></tr>"); replyMSG.append("<tr><td width=140></td><td width=40></td><td width=40></td></tr>");
replyMSG.append("</table></body></html>"); replyMSG.append("</table></body></html>");
adminReply.setHtml(replyMSG.toString()); adminReply.setHtml(replyMSG.toString());
activeChar.sendPacket(adminReply); activeChar.sendPacket(adminReply);

View File

@@ -140,11 +140,9 @@ public class AdminBuffs implements IAdminCommandHandler
try try
{ {
final StringTokenizer st = new StringTokenizer(command, " "); final StringTokenizer st = new StringTokenizer(command, " ");
st.nextToken(); st.nextToken();
final int objectId = Integer.parseInt(st.nextToken()); final int objectId = Integer.parseInt(st.nextToken());
final int skillId = Integer.parseInt(st.nextToken()); final int skillId = Integer.parseInt(st.nextToken());
removeBuff(activeChar, objectId, skillId); removeBuff(activeChar, objectId, skillId);
return true; return true;
} }
@@ -197,9 +195,7 @@ public class AdminBuffs implements IAdminCommandHandler
try try
{ {
final int radius = Integer.parseInt(val); final int radius = Integer.parseInt(val);
World.getInstance().forEachVisibleObjectInRange(activeChar, PlayerInstance.class, radius, Creature::stopAllEffects); World.getInstance().forEachVisibleObjectInRange(activeChar, PlayerInstance.class, radius, Creature::stopAllEffects);
BuilderUtil.sendSysMessage(activeChar, "All effects canceled within radius " + radius); BuilderUtil.sendSysMessage(activeChar, "All effects canceled within radius " + radius);
return true; return true;
} }
@@ -305,7 +301,6 @@ public class AdminBuffs implements IAdminCommandHandler
} }
final String pageLink = "bypass -h admin_getbuffs" + (passive ? "_ps " : " ") + target.getName(); final String pageLink = "bypass -h admin_getbuffs" + (passive ? "_ps " : " ") + target.getName();
final PageResult result = PageBuilder.newBuilder(effects, 3, pageLink).currentPage(page).style(ButtonsStyle.INSTANCE).bodyHandler((pages, info, sb) -> final PageResult result = PageBuilder.newBuilder(effects, 3, pageLink).currentPage(page).style(ButtonsStyle.INSTANCE).bodyHandler((pages, info, sb) ->
{ {
for (AbstractEffect effect : info.getEffects()) for (AbstractEffect effect : info.getEffects())
@@ -331,7 +326,6 @@ public class AdminBuffs implements IAdminCommandHandler
final NpcHtmlMessage html = new NpcHtmlMessage(0, 1); final NpcHtmlMessage html = new NpcHtmlMessage(0, 1);
html.setFile(activeChar, "data/html/admin/getbuffs.htm"); html.setFile(activeChar, "data/html/admin/getbuffs.htm");
if (result.getPages() > 0) if (result.getPages() > 0)
{ {
html.replace("%pages%", "<table width=280 cellspacing=0><tr>" + result.getPagerTemplate() + "</tr></table>"); html.replace("%pages%", "<table width=280 cellspacing=0><tr>" + result.getPagerTemplate() + "</tr></table>");
@@ -426,7 +420,6 @@ public class AdminBuffs implements IAdminCommandHandler
html.append("<html><table width=\"100%\"><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center><font color=\"LEVEL\">Blocked effects of "); html.append("<html><table width=\"100%\"><tr><td width=45><button value=\"Main\" action=\"bypass -h admin_admin\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td><td width=180><center><font color=\"LEVEL\">Blocked effects of ");
html.append(target.getName()); html.append(target.getName());
html.append("</font></td><td width=45><button value=\"Back\" action=\"bypass -h admin_getbuffs" + (target.isPlayer() ? (" " + target.getName()) : "") + "\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br>"); html.append("</font></td><td width=45><button value=\"Back\" action=\"bypass -h admin_getbuffs" + (target.isPlayer() ? (" " + target.getName()) : "") + "\" width=45 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table><br>");
if ((blockedAbnormals != null) && !blockedAbnormals.isEmpty()) if ((blockedAbnormals != null) && !blockedAbnormals.isEmpty())
{ {
html.append("<br>Blocked buff slots: "); html.append("<br>Blocked buff slots: ");
@@ -440,7 +433,6 @@ public class AdminBuffs implements IAdminCommandHandler
// Send the packet // Send the packet
activeChar.sendPacket(new NpcHtmlMessage(0, 1, html.toString())); activeChar.sendPacket(new NpcHtmlMessage(0, 1, html.toString()));
if (Config.GMAUDIT) if (Config.GMAUDIT)
{ {
GMAudit.auditGMAction(activeChar.getName() + " [" + activeChar.getObjectId() + "]", "viewblockedeffects", target.getName() + " (" + Integer.toString(target.getObjectId()) + ")", ""); GMAudit.auditGMAction(activeChar.getName() + " [" + activeChar.getObjectId() + "]", "viewblockedeffects", target.getName() + " (" + Integer.toString(target.getObjectId()) + ")", "");

View File

@@ -48,7 +48,6 @@ public class AdminCastle implements IAdminCommandHandler
{ {
final StringTokenizer st = new StringTokenizer(command, " "); final StringTokenizer st = new StringTokenizer(command, " ");
final String actualCommand = st.nextToken(); final String actualCommand = st.nextToken();
if (actualCommand.equals("admin_castlemanage")) if (actualCommand.equals("admin_castlemanage"))
{ {
if (st.hasMoreTokens()) if (st.hasMoreTokens())
@@ -235,7 +234,6 @@ public class AdminCastle implements IAdminCommandHandler
private void showCastleMenu(PlayerInstance player, int castleId) private void showCastleMenu(PlayerInstance player, int castleId)
{ {
final Castle castle = CastleManager.getInstance().getCastleById(castleId); final Castle castle = CastleManager.getInstance().getCastleById(castleId);
if (castle != null) if (castle != null)
{ {
final Clan ownerClan = castle.getOwner(); final Clan ownerClan = castle.getOwner();

View File

@@ -144,7 +144,6 @@ public class AdminClan implements IAdminCommandHandler
break; break;
} }
final int clanId = Integer.parseInt(token); final int clanId = Integer.parseInt(token);
final Clan clan = ClanTable.getInstance().getClan(clanId); final Clan clan = ClanTable.getInstance().getClan(clanId);
if (clan == null) if (clan == null)
{ {

View File

@@ -55,7 +55,6 @@ public class AdminClanHall implements IAdminCommandHandler
{ {
final StringTokenizer st = new StringTokenizer(command, " "); final StringTokenizer st = new StringTokenizer(command, " ");
final String actualCommand = st.nextToken(); final String actualCommand = st.nextToken();
if (actualCommand.equalsIgnoreCase("admin_clanhall")) if (actualCommand.equalsIgnoreCase("admin_clanhall"))
{ {
processBypass(activeChar, new BypassParser(command)); processBypass(activeChar, new BypassParser(command));
@@ -215,7 +214,6 @@ public class AdminClanHall implements IAdminCommandHandler
final String grade = clanHall.getGrade().toString().replace("GRADE_", "") + " Grade"; final String grade = clanHall.getGrade().toString().replace("GRADE_", "") + " Grade";
html.replace("%clanHallGrade%", grade); html.replace("%clanHallGrade%", grade);
html.replace("%clanHallSize%", clanHall.getGrade().getGradeValue()); html.replace("%clanHallSize%", clanHall.getGrade().getGradeValue());
if (!clanHall.getFunctions().isEmpty()) if (!clanHall.getFunctions().isEmpty())
{ {
sb.append("<table border=0 cellpadding=0 cellspacing=0 bgcolor=\"363636\">"); sb.append("<table border=0 cellpadding=0 cellspacing=0 bgcolor=\"363636\">");
@@ -260,7 +258,6 @@ public class AdminClanHall implements IAdminCommandHandler
final int clanHallId = parser.getInt("id", 0); final int clanHallId = parser.getInt("id", 0);
final String action = parser.getString("action", null); final String action = parser.getString("action", null);
final String actionVal = parser.getString("actionVal", null); final String actionVal = parser.getString("actionVal", null);
if ((clanHallId > 0) && (action != null)) if ((clanHallId > 0) && (action != null))
{ {
doAction(player, clanHallId, action, actionVal); doAction(player, clanHallId, action, actionVal);

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