Code review Part 5.

This commit is contained in:
MobiusDevelopment
2019-12-22 15:33:46 +00:00
parent 4a563b8832
commit 7f3befa63c
4071 changed files with 23938 additions and 28938 deletions

View File

@@ -124,7 +124,7 @@ public class CemeteryMonsters extends AbstractNpcAI
{
for (int i = 0; i < 6; i++)
{
Npc raider = addSpawn(ADEN_RAIDER, killer, true, 180000, false);
final Npc raider = addSpawn(ADEN_RAIDER, killer, true, 180000, false);
addAttackPlayerDesire(raider, killer);
}
break;

View File

@@ -103,7 +103,7 @@ public class GainakSiege extends AbstractNpcAI
startQuestTimer("GAINAK_WAR", getTimeBetweenSieges() * 60000, null, null);
if (Config.ANNOUNCE_GAINAK_SIEGE)
{
SystemMessage s = new SystemMessage(SystemMessageId.PROGRESS_EVENT_STAGE_S1);
final SystemMessage s = new SystemMessage(SystemMessageId.PROGRESS_EVENT_STAGE_S1);
s.addString("Gainak is now in peace.");
Broadcast.toAllOnlinePlayers(s);
}
@@ -123,7 +123,7 @@ public class GainakSiege extends AbstractNpcAI
startQuestTimer("GAINAK_WAR", SIEGE_DURATION * 60000, null, null);
if (Config.ANNOUNCE_GAINAK_SIEGE)
{
SystemMessage s = new SystemMessage(SystemMessageId.PROGRESS_EVENT_STAGE_S1);
final SystemMessage s = new SystemMessage(SystemMessageId.PROGRESS_EVENT_STAGE_S1);
s.addString("Gainak is now under siege.");
Broadcast.toAllOnlinePlayers(s);
}

View File

@@ -130,7 +130,7 @@ public class TavernEmployee extends AbstractNpcAI
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final String htmltext = null;
switch (event)
{
case "spam_text1":

View File

@@ -42,7 +42,7 @@ public class ApherusLookout extends AbstractNpcAI
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final String htmltext = null;
if (event.equals("open_bag"))
{
if (getRandom(100) < 7)
@@ -58,11 +58,11 @@ public class ApherusLookout extends AbstractNpcAI
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isPet)
{
Npc aPackage = addSpawn(APHERUS_PACKAGE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
final Npc aPackage = addSpawn(APHERUS_PACKAGE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
aPackage.setIsImmobilized(true);
Npc bPackage = addSpawn(APHERUS_PACKAGE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
final Npc bPackage = addSpawn(APHERUS_PACKAGE1, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
bPackage.setIsImmobilized(true);
Npc cPackage = addSpawn(APHERUS_PACKAGE2, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
final Npc cPackage = addSpawn(APHERUS_PACKAGE2, npc.getX(), npc.getY(), npc.getZ(), 0, true, 120000, false);
cPackage.setIsImmobilized(true);
return super.onKill(npc, killer, isPet);
}

View File

@@ -52,7 +52,7 @@ public class FuryKiku extends AbstractNpcAI
{
case "SPAWN":
{
Party party = player.getParty();
final Party party = player.getParty();
if (party != null)
{
party.getMembers().forEach(p -> addSpawn(FURYKIKU, p, true, 180000, true, 0));

View File

@@ -59,7 +59,7 @@ public class Kekropus extends AbstractNpcAI
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final String htmltext = null;
switch (event)
{
case "teleport":

View File

@@ -70,7 +70,7 @@ public class Hardin extends AbstractNpcAI
if (event.equals("list"))
{
StringBuilder classes = new StringBuilder();
final StringBuilder classes = new StringBuilder();
for (ClassId c : ClassId.values())
{
if ((((c.level() != 4) && (c.getRace() != Race.ERTHEIA)) //

View File

@@ -64,9 +64,9 @@ public class HarnakUndergroundRuinsZone extends AbstractNpcAI
{
for (int zoneId = 60142; zoneId <= 60165; zoneId++)
{
ZoneType zone = ZoneManager.getInstance().getZoneById(zoneId);
final ZoneType zone = ZoneManager.getInstance().getZoneById(zoneId);
_roomInfo.put(zone, new zoneInfo());
String zoneName = zone.getName().toLowerCase().replace(" ", "_");
final String zoneName = zone.getName().toLowerCase().replace(" ", "_");
_templates.stream().forEach(t -> t.spawn(g -> String.valueOf(g.getName()).equalsIgnoreCase(zoneName), null));
}
}
@@ -131,7 +131,7 @@ public class HarnakUndergroundRuinsZone extends AbstractNpcAI
{
try
{
zoneInfo currentInfo = _roomInfo.get(_zone);
final zoneInfo currentInfo = _roomInfo.get(_zone);
switch (currentInfo.getZoneStage())
{
case 0:
@@ -169,7 +169,7 @@ public class HarnakUndergroundRuinsZone extends AbstractNpcAI
if (currentInfo.getCurrentMonitorizedDamage() >= 10)
{
_zone.broadcastPacket(new ExShowScreenMessage(NpcStringId.DEMONIC_SYSTEM_WILL_ACTIVATE, ExShowScreenMessage.TOP_CENTER, 3000));
String zoneName = _zone.getName().toLowerCase().replace(" ", "_");
final String zoneName = _zone.getName().toLowerCase().replace(" ", "_");
_templates.stream().forEach(t -> t.despawn(g -> String.valueOf(g.getName()).equalsIgnoreCase(zoneName)));
_templates.stream().forEach(t -> t.spawn(g -> String.valueOf(g.getName()).equalsIgnoreCase(zoneName + "_demonic"), null));
_zone.getPlayersInside().forEach(temp -> temp.sendPacket(new ExSendUIEvent(temp, false, false, 600, 0, NpcStringId.DEMONIC_SYSTEM_ACTIVATED)));
@@ -193,7 +193,7 @@ public class HarnakUndergroundRuinsZone extends AbstractNpcAI
player.sendPacket(new ExSendUIEvent(player));
}
}
String zoneName = _zone.getName().toLowerCase().replace(" ", "_");
final String zoneName = _zone.getName().toLowerCase().replace(" ", "_");
_templates.stream().forEach(t -> t.despawn(g -> String.valueOf(g.getName()).equalsIgnoreCase(zoneName + "_demonic")));
_templates.stream().forEach(t -> t.spawn(g -> String.valueOf(g.getName()).equalsIgnoreCase(zoneName), null));
return;
@@ -219,14 +219,14 @@ public class HarnakUndergroundRuinsZone extends AbstractNpcAI
if (currentZone.getKey().isInsideZone(npc))
{
final zoneInfo currentInfo = currentZone.getValue();
int currentPoints = currentInfo.getCurrentPoints();
final int currentPoints = currentInfo.getCurrentPoints();
if (currentPoints == 300)
{
if (currentInfo.getZoneStage() < 1)
{
return super.onKill(npc, killer, isSummon);
}
int currentDamage = currentInfo.getCurrentMonitorizedDamage();
final int currentDamage = currentInfo.getCurrentMonitorizedDamage();
int calcDamage = currentDamage + 1;
if (calcDamage >= 10)
{
@@ -262,7 +262,7 @@ public class HarnakUndergroundRuinsZone extends AbstractNpcAI
if (npc.getDisplayEffect() > 0)
{
MonsterInstance copy = (MonsterInstance) addSpawn(npc.getId(), npc.getX(), npc.getY(), npc.getZ(), 0, true, 0, false);
final MonsterInstance copy = (MonsterInstance) addSpawn(npc.getId(), npc.getX(), npc.getY(), npc.getZ(), 0, true, 0, false);
copy.setTarget(killer);
copy.addDamageHate(killer, 500, 99999);
copy.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, killer);

View File

@@ -672,7 +672,7 @@ public class Raina extends AbstractNpcAI
{
final int currentBaseId = player.getBaseClass();
final ClassId baseCID = ClassId.getClassId(currentBaseId);
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);
@@ -830,7 +830,7 @@ public class Raina extends AbstractNpcAI
}
}
Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
final Set<ClassId> unavailableClasses = subclassSetMap.get(pClass);
if (unavailableClasses != null)
{
subclasses.removeAll(unavailableClasses);

View File

@@ -408,7 +408,7 @@ public class Anakim extends AbstractNpcAI
randomSpawn = _spawns.get(Rnd.get(_spawns.size()));
if (randomSpawn != null)
{
Npc remnant = addSpawn(REMNANT, randomSpawn.getX(), randomSpawn.getY(), randomSpawn.getZ(), randomSpawn.getHeading(), true, 0, false, 0);
final Npc remnant = addSpawn(REMNANT, randomSpawn.getX(), randomSpawn.getY(), randomSpawn.getZ(), randomSpawn.getHeading(), true, 0, false, 0);
_remnants.add(remnant);
}
}
@@ -426,13 +426,13 @@ public class Anakim extends AbstractNpcAI
}
case "cancel_timers":
{
QuestTimer activityTimer = getQuestTimer("check_activity_task", null, null);
final QuestTimer activityTimer = getQuestTimer("check_activity_task", null, null);
if (activityTimer != null)
{
activityTimer.cancel();
}
QuestTimer forceEnd = getQuestTimer("end_anakim", null, null);
final QuestTimer forceEnd = getQuestTimer("end_anakim", null, null);
if (forceEnd != null)
{
forceEnd.cancel();
@@ -588,7 +588,7 @@ public class Anakim extends AbstractNpcAI
}
if (!BOSS_ZONE.isInsideZone(npc)) // Npc moved out of the zone
{
Spawn spawn = npc.getSpawn();
final Spawn spawn = npc.getSpawn();
if (spawn != null)
{
npc.teleToLocation(spawn.getX(), spawn.getY(), spawn.getZ());
@@ -661,13 +661,13 @@ public class Anakim extends AbstractNpcAI
private long calcReuseFromDays(int day1Minute, int day1Hour, int day1Day, int day2Minute, int day2Hour, int day2Day)
{
Calendar now = Calendar.getInstance();
Calendar day1 = (Calendar) now.clone();
final Calendar now = Calendar.getInstance();
final Calendar day1 = (Calendar) now.clone();
day1.set(Calendar.MINUTE, day1Minute);
day1.set(Calendar.HOUR_OF_DAY, day1Hour);
day1.set(Calendar.DAY_OF_WEEK, day1Day);
Calendar day2 = (Calendar) day1.clone();
final Calendar day2 = (Calendar) day1.clone();
day2.set(Calendar.MINUTE, day2Minute);
day2.set(Calendar.HOUR_OF_DAY, day2Hour);
day2.set(Calendar.DAY_OF_WEEK, day2Day);

View File

@@ -150,7 +150,7 @@ public class BalokWarzone extends AbstractInstance
case "stage_last_send_minions":
{
Npc minion = _minionList.get(Rnd.get(_minionList.size()));
final Npc minion = _minionList.get(Rnd.get(_minionList.size()));
if (minion != null)
{
minion.setRunning();
@@ -183,14 +183,14 @@ public class BalokWarzone extends AbstractInstance
{
for (int i = 0; i < 4; i++)
{
Npc disciple = addSpawn(HELL_DISCIPLE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 600000, false, world.getId());
final Npc disciple = addSpawn(HELL_DISCIPLE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 600000, false, world.getId());
addAttackPlayerDesire(disciple, player);
}
break;
}
case "imprission_minions":
{
int[] randomJail = PRISONS_SPAWN[Rnd.get(PRISONS_SPAWN.length)]; // Random jail
final int[] randomJail = PRISONS_SPAWN[Rnd.get(PRISONS_SPAWN.length)]; // Random jail
player.teleToLocation(randomJail[0], randomJail[1], randomJail[2]);
world.broadcastPacket(new ExShowScreenMessage("$s1, locked away in the prison.".replace("$s1", player.getName()), 5000));
break;
@@ -209,7 +209,7 @@ public class BalokWarzone extends AbstractInstance
{
for (int[] a : MINION_SPAWN)
{
Npc minion = addSpawn(MINION, a[0], a[1], a[2], a[3], false, 0, false, world.getId());
final Npc minion = addSpawn(MINION, a[0], a[1], a[2], a[3], false, 0, false, world.getId());
_minionList.add(minion);
INVINCIBILITY_ACTIVATION.getSkill().applyEffects(minion, minion);
world.setStatus(2);

View File

@@ -81,7 +81,7 @@ public class Helios extends AbstractNpcAI
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final String htmltext = null;
switch (event)
{
case "unlock_helios":

View File

@@ -200,14 +200,14 @@ public class Kelbim extends AbstractNpcAI
{
for (int i = 0; i < Rnd.get((_bossStage * 5) / 2, _bossStage * 5); i++)
{
Npc minion = addSpawn(KELBIM_GUARD, _kelbimBoss.getX(), _kelbimBoss.getY(), _kelbimBoss.getZ(), 0, true, 0, true, 0);
final Npc minion = addSpawn(KELBIM_GUARD, _kelbimBoss.getX(), _kelbimBoss.getY(), _kelbimBoss.getZ(), 0, true, 0, true, 0);
minion.setRunning();
((Attackable) minion).setIsRaidMinion(true);
_minions.add(minion);
}
for (int i = 0; i < Rnd.get((_bossStage * 2) / 2, _bossStage * 2); i++)
{
Npc minion = addSpawn(KELBIM_GUARDIANS[Rnd.get(KELBIM_GUARDIANS.length)], _kelbimBoss.getX(), _kelbimBoss.getY(), _kelbimBoss.getZ(), 0, true, 0, true, 0);
final Npc minion = addSpawn(KELBIM_GUARDIANS[Rnd.get(KELBIM_GUARDIANS.length)], _kelbimBoss.getX(), _kelbimBoss.getY(), _kelbimBoss.getZ(), 0, true, 0, true, 0);
minion.setRunning();
((Attackable) minion).setIsRaidMinion(true);
_minions.add(minion);
@@ -220,8 +220,8 @@ public class Kelbim extends AbstractNpcAI
{
if (_kelbimBoss.isInCombat())
{
Skill randomAttackSkill = AREA_SKILLS[Rnd.get(AREA_SKILLS.length)];
List<Npc> skillNpcs = new ArrayList<>();
final Skill randomAttackSkill = AREA_SKILLS[Rnd.get(AREA_SKILLS.length)];
final List<Npc> skillNpcs = new ArrayList<>();
for (PlayerInstance pl : ZONE.getPlayersInside())
{
if (pl == null)
@@ -230,7 +230,7 @@ public class Kelbim extends AbstractNpcAI
}
if (Rnd.get(100) > 40)
{
Npc skillMob = addSpawn(KELBIM_SHOUT, pl.getX(), pl.getY(), pl.getZ() + 10, 0, true, 60000, false, 0);
final Npc skillMob = addSpawn(KELBIM_SHOUT, pl.getX(), pl.getY(), pl.getZ() + 10, 0, true, 60000, false, 0);
skillNpcs.add(skillMob);
_minions.add(skillMob);
}
@@ -250,7 +250,7 @@ public class Kelbim extends AbstractNpcAI
}
case "cancel_timers":
{
QuestTimer activityTimer = getQuestTimer("check_activity_task", null, null);
final QuestTimer activityTimer = getQuestTimer("check_activity_task", null, null);
if (activityTimer != null)
{
activityTimer.cancel();
@@ -306,7 +306,7 @@ public class Kelbim extends AbstractNpcAI
{
if (npc.getId() == ENTER_DEVICE)
{
int status = GrandBossManager.getInstance().getBossStatus(KELBIM);
final int status = GrandBossManager.getInstance().getBossStatus(KELBIM);
if (status > ALIVE)
{
return "34052-1.html";

View File

@@ -434,7 +434,7 @@ public class Lilith extends AbstractNpcAI
randomSpawn = _spawns.get(Rnd.get(_spawns.size()));
if (randomSpawn != null)
{
Npc remnant = addSpawn(REMNANT, randomSpawn.getX(), randomSpawn.getY(), randomSpawn.getZ(), randomSpawn.getHeading(), true, 0, false, 0);
final Npc remnant = addSpawn(REMNANT, randomSpawn.getX(), randomSpawn.getY(), randomSpawn.getZ(), randomSpawn.getHeading(), true, 0, false, 0);
_remnants.add(remnant);
}
}
@@ -452,13 +452,13 @@ public class Lilith extends AbstractNpcAI
}
case "cancel_timers":
{
QuestTimer activityTimer = getQuestTimer("check_activity_task", null, null);
final QuestTimer activityTimer = getQuestTimer("check_activity_task", null, null);
if (activityTimer != null)
{
activityTimer.cancel();
}
QuestTimer forceEnd = getQuestTimer("end_lilith", null, null);
final QuestTimer forceEnd = getQuestTimer("end_lilith", null, null);
if (forceEnd != null)
{
forceEnd.cancel();
@@ -604,7 +604,7 @@ public class Lilith extends AbstractNpcAI
}
if (!BOSS_ZONE.isInsideZone(npc)) // Npc moved out of the zone
{
Spawn spawn = npc.getSpawn();
final Spawn spawn = npc.getSpawn();
if (spawn != null)
{
npc.teleToLocation(spawn.getX(), spawn.getY(), spawn.getZ());
@@ -677,13 +677,13 @@ public class Lilith extends AbstractNpcAI
private long calcReuseFromDays(int day1Minute, int day1Hour, int day1Day, int day2Minute, int day2Hour, int day2Day)
{
Calendar now = Calendar.getInstance();
Calendar day1 = (Calendar) now.clone();
final Calendar now = Calendar.getInstance();
final Calendar day1 = (Calendar) now.clone();
day1.set(Calendar.MINUTE, day1Minute);
day1.set(Calendar.HOUR_OF_DAY, day1Hour);
day1.set(Calendar.DAY_OF_WEEK, day1Day);
Calendar day2 = (Calendar) day1.clone();
final Calendar day2 = (Calendar) day1.clone();
day2.set(Calendar.MINUTE, day2Minute);
day2.set(Calendar.HOUR_OF_DAY, day2Hour);
day2.set(Calendar.DAY_OF_WEEK, day2Day);

View File

@@ -279,7 +279,7 @@ public class Lindvior extends AbstractNpcAI
LOGGER.warning(getName() + ": Character: " + attacker.getName() + " attacked: " + npc.getName() + " wich is out of the boss zone!");
}
double percent = ((npc.getCurrentHp() - damage) / npc.getMaxHp()) * 100;
final double percent = ((npc.getCurrentHp() - damage) / npc.getMaxHp()) * 100;
if ((percent <= 80) && (_status == 0))
{
_zoneLair.broadcastPacket(new OnEventTrigger(RED_ZONE_EFFECT, true));
@@ -466,7 +466,7 @@ public class Lindvior extends AbstractNpcAI
{
synchronized (_chargedValues)
{
int index = npc.getScriptValue();
final int index = npc.getScriptValue();
if (!hasFlag(_chargedMask, 1 << index))
{
_chargedValues[index] += caster.isGM() ? (30 / 4) + 2 : (1 / 4) + 2;
@@ -707,7 +707,7 @@ public class Lindvior extends AbstractNpcAI
}
case "stage_1_activate_generator":
{
int index = npc.getScriptValue();
final int index = npc.getScriptValue();
if (!hasFlag(_activeMask, 1 << index))
{
_activeMask |= 1 << index;
@@ -740,7 +740,7 @@ public class Lindvior extends AbstractNpcAI
{
_skillCastTask = ThreadPool.scheduleAtFixedRate(() -> _generatorSpawn.forEach(generators ->
{
int index = generators.getScriptValue();
final int index = generators.getScriptValue();
if (!generators.isCastingNow() && (generators.getEffectList().getBuffInfoBySkillId(SKILL_RECHARGE_POSIBLE.getSkillId()) == null) && !hasFlag(_chargedMask, 1 << index))
{
// TODO Need core implemented combo skill packet.
@@ -878,7 +878,7 @@ public class Lindvior extends AbstractNpcAI
private void sendEventTrigger(boolean status, int... triggers)
{
IClientOutgoingPacket[] pakets = new IClientOutgoingPacket[triggers.length];
final IClientOutgoingPacket[] pakets = new IClientOutgoingPacket[triggers.length];
for (int i = 0; i < triggers.length; i++)
{
pakets[i] = new OnEventTrigger(triggers[i], status);

View File

@@ -68,7 +68,7 @@ public class LindviorBoss extends AbstractNpcAI
@Override
public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon)
{
double percent = ((npc.getCurrentHp() - damage) / npc.getMaxHp()) * 100;
final double percent = ((npc.getCurrentHp() - damage) / npc.getMaxHp()) * 100;
final int chance = getRandom(100);
switch (npc.getId())
{

View File

@@ -232,7 +232,7 @@ public class Ramona extends AbstractNpcAI
{
addSpawn(MP_CONTROL, RAMONA_SPAWN_LOC, false, 0, false);
}
QuestTimer activityTimer = getQuestTimer("CHECK_ACTIVITY_TASK", null, null);
final QuestTimer activityTimer = getQuestTimer("CHECK_ACTIVITY_TASK", null, null);
if (activityTimer != null)
{
activityTimer.cancel();
@@ -341,7 +341,7 @@ public class Ramona extends AbstractNpcAI
case RAMONA_3:
{
_boss = Status.DEAD;
long respawnTime = (Config.RAMONA_SPAWN_INTERVAL + getRandom(-Config.RAMONA_SPAWN_RANDOM, Config.RAMONA_SPAWN_RANDOM)) * 3600000;
final long respawnTime = (Config.RAMONA_SPAWN_INTERVAL + getRandom(-Config.RAMONA_SPAWN_RANDOM, Config.RAMONA_SPAWN_RANDOM)) * 3600000;
GlobalVariablesManager.getInstance().set(RAMONA_RESPAWN_VAR, System.currentTimeMillis() + respawnTime);
startQuestTimer("RAMONA_UNLOCK", respawnTime, null, null);
startQuestTimer("END_RAMONA", 90000, null, null);

View File

@@ -296,7 +296,7 @@ public class Trasken extends AbstractNpcAI
super();
_zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class);
_zoneLair2 = ZoneManager.getInstance().getZoneById(ZONE_ID_HEART, NoSummonFriendZone.class);
int[] creature = new int[]
final int[] creature = new int[]
{
TRASKEN,
TIE,
@@ -344,7 +344,7 @@ public class Trasken extends AbstractNpcAI
private void init()
{
int size = _zoneLair.getPlayersInside().size();
final int size = _zoneLair.getPlayersInside().size();
if ((size >= 14) && (size <= 28))
{
_playersToEnter = 7;

View File

@@ -73,7 +73,7 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
public boolean useBypass(String command, PlayerInstance player, Creature target)
{
String cmd = "";
StringBuilder params = new StringBuilder();
final StringBuilder params = new StringBuilder();
final StringTokenizer st = new StringTokenizer(command, " ");
if (st.hasMoreTokens())
@@ -130,7 +130,7 @@ public class SellBuff implements IVoicedCommandHandler, IBypassHandler
}
else
{
StringBuilder title = new StringBuilder();
final StringBuilder title = new StringBuilder();
title.append("BUFF SELL: ");
final StringTokenizer st = new StringTokenizer(params, " ");
while (st.hasMoreTokens())

View File

@@ -65,7 +65,7 @@ public class RudolphsBlessing extends LongTimeEvent
if (takeItems(player, ITEM_REQUIREMENT.getId(), ITEM_REQUIREMENT.getCount()))
{
SkillCaster.triggerCast(player, player, RUDOLPH_TRYUCK.getSkill());
Skill rudolphsBlessing = SkillData.getInstance().getSkill(23297, 1);
final Skill rudolphsBlessing = SkillData.getInstance().getSkill(23297, 1);
rudolphsBlessing.applyEffects(player, player);
}
startQuestTimer("rudolph_eat", 10 * 60 * 1000, null, player);

View File

@@ -199,7 +199,7 @@ public class SavingSanta extends LongTimeEvent
continue;
}
int result = pl.getEffectList().getBuffInfoBySkillId(23019).getSkill().getLevel() - skill.getLevel();
final int result = pl.getEffectList().getBuffInfoBySkillId(23019).getSkill().getLevel() - skill.getLevel();
if (result == 0)
{
@@ -216,7 +216,7 @@ public class SavingSanta extends LongTimeEvent
}
else if ((result == 1) || (result == -2))
{
int level = (pl.isAffectedBySkill(23022) ? (pl.getEffectList().getBuffInfoBySkillId(23022).getSkill().getLevel() + 1) : 1);
final int level = (pl.isAffectedBySkill(23022) ? (pl.getEffectList().getBuffInfoBySkillId(23022).getSkill().getLevel() + 1) : 1);
pl.broadcastPacket(new MagicSkillUse(pl, pl, 23022, level, 3000, 1));
SkillData.getInstance().getSkill(23022, level).applyEffects(pl, pl);
@@ -324,7 +324,7 @@ public class SavingSanta extends LongTimeEvent
{
if (_rewardedPlayers.containsKey(pl.getAccountName()))
{
long elapsedTimeSinceLastRewarded = System.currentTimeMillis() - _rewardedPlayers.get(pl.getAccountName());
final long elapsedTimeSinceLastRewarded = System.currentTimeMillis() - _rewardedPlayers.get(pl.getAccountName());
if (elapsedTimeSinceLastRewarded < MIN_TIME_BETWEEN_2_REWARDS)
{
continue;
@@ -339,10 +339,10 @@ public class SavingSanta extends LongTimeEvent
continue;
}
}
int locx = (int) (pl.getX() + (Math.pow(-1, getRandom(1, 2)) * 50));
int locy = (int) (pl.getY() + (Math.pow(-1, getRandom(1, 2)) * 50));
int heading = Util.calculateHeadingFrom(locx, locy, pl.getX(), pl.getY());
Npc santa = addSpawn(HOLIDAY_SANTA_ID, locx, locy, pl.getZ(), heading, false, 30000);
final int locx = (int) (pl.getX() + (Math.pow(-1, getRandom(1, 2)) * 50));
final int locy = (int) (pl.getY() + (Math.pow(-1, getRandom(1, 2)) * 50));
final int heading = Util.calculateHeadingFrom(locx, locy, pl.getX(), pl.getY());
final Npc santa = addSpawn(HOLIDAY_SANTA_ID, locx, locy, pl.getZ(), heading, false, 30000);
_rewardedPlayers.put(pl.getAccountName(), System.currentTimeMillis());
player.getVariables().set("LAST_SANTA_REWARD", System.currentTimeMillis());
startQuestTimer("SantaRewarding0", 500, santa, pl);
@@ -446,7 +446,7 @@ public class SavingSanta extends LongTimeEvent
{
if (_blessedPlayers.containsKey(plb.getAccountName()))
{
long elapsedTimeSinceLastBlessed = currentTime - _blessedPlayers.get(plb.getAccountName());
final long elapsedTimeSinceLastBlessed = currentTime - _blessedPlayers.get(plb.getAccountName());
if (elapsedTimeSinceLastBlessed < MIN_TIME_BETWEEN_2_BLESSINGS)
{
continue;
@@ -504,12 +504,12 @@ public class SavingSanta extends LongTimeEvent
{
for (PlayerInstance playerr : World.getInstance().getVisibleObjects(tree, PlayerInstance.class))
{
int xxMin = tree.getX() - 60;
int yyMin = tree.getY() - 60;
int xxMax = tree.getX() + 60;
int yyMax = tree.getY() + 60;
int playerX = playerr.getX();
int playerY = playerr.getY();
final int xxMin = tree.getX() - 60;
final int yyMin = tree.getY() - 60;
final int xxMax = tree.getX() + 60;
final int yyMax = tree.getY() + 60;
final int playerX = playerr.getX();
final int playerY = playerr.getY();
if ((playerX > xxMin) && (playerX < xxMax) && (playerY > yyMin) && (playerY < yyMax))
{
@@ -528,7 +528,7 @@ public class SavingSanta extends LongTimeEvent
for (ItemHolder item : TREE_REQUIRED_ITEMS)
{
long pieceCount = player.getInventory().getInventoryItemCount(item.getId(), -1);
final long pieceCount = player.getInventory().getInventoryItemCount(item.getId(), -1);
if (pieceCount >= item.getCount())
{
itemsOk = itemsOk + 1;
@@ -573,7 +573,7 @@ public class SavingSanta extends LongTimeEvent
else if (event.equalsIgnoreCase("SpecialTree"))
{
htmltext = "<html><title>Christmas Event</title><body><br><br><table width=260><tr><td></td><td width=40></td><td width=40></td></tr><tr><td><font color=LEVEL>Special Christmas Tree</font></td><td width=40><img src=\"Icon.etc_x_mas_tree_i00\" width=32 height=32></td><td width=40></td></tr></table><br><br><table width=260>";
long pieceCount = player.getInventory().getInventoryItemCount(X_MAS_TREE1, -1);
final long pieceCount = player.getInventory().getInventoryItemCount(X_MAS_TREE1, -1);
int itemsOk = 0;
if (pieceCount >= 10)
@@ -613,7 +613,7 @@ public class SavingSanta extends LongTimeEvent
else if (event.equalsIgnoreCase("SantaHat"))
{
htmltext = "<html><title>Christmas Event</title><body><br><br><table width=260><tr><td></td><td width=40></td><td width=40></td></tr><tr><td><font color=LEVEL>Santa's Hat</font></td><td width=40><img src=\"Icon.Accessory_santas_cap_i00\" width=32 height=32></td><td width=40></td></tr></table><br><br><table width=260>";
long pieceCount = player.getInventory().getInventoryItemCount(X_MAS_TREE1, -1);
final long pieceCount = player.getInventory().getInventoryItemCount(X_MAS_TREE1, -1);
int itemsOk = 0;
if (pieceCount >= 10)
@@ -651,7 +651,7 @@ public class SavingSanta extends LongTimeEvent
else if (event.equalsIgnoreCase("SavingSantaHat"))
{
htmltext = "<html><title>Christmas Event</title><body><br><br><table width=260><tr><td></td><td width=40></td><td width=40></td></tr><tr><td><font color=LEVEL>Saving Santa's Hat</font></td><td width=40><img src=\"Icon.Accessory_santas_cap_i00\" width=32 height=32></td><td width=40></td></tr></table><br><br><table width=260>";
long pieceCount = player.getInventory().getAdena();
final long pieceCount = player.getInventory().getAdena();
int itemsOk = 0;
if (pieceCount >= 50000)

View File

@@ -86,9 +86,9 @@ public class SkillTransfer extends AbstractNpcAI
return;
}
int pomanderId = PORMANDERS[index].getId();
final int pomanderId = PORMANDERS[index].getId();
// remove unsused HolyPomander
PlayerInventory inv = player.getInventory();
final PlayerInventory inv = player.getInventory();
for (ItemInstance itemI : inv.getAllItemsByItemId(pomanderId))
{
inv.destroyItem("[HolyPomander - remove]", itemI, player, null);

View File

@@ -734,7 +734,6 @@ public class MasterHandler
catch (Exception e)
{
LOGGER.log(Level.WARNING, "Failed loading handler: " + c.getSimpleName(), e);
continue;
}
}
}

View File

@@ -176,9 +176,9 @@ public class AdminBuffs implements IAdminCommandHandler
{
try
{
StringTokenizer st = new StringTokenizer(command, " ");
final StringTokenizer st = new StringTokenizer(command, " ");
st.nextToken();
int objectId = Integer.parseInt(st.nextToken());
final int objectId = Integer.parseInt(st.nextToken());
viewBlockedEffects(activeChar, objectId);
return true;
}
@@ -362,6 +362,7 @@ public class AdminBuffs implements IAdminCommandHandler
}
catch (Exception e)
{
// Checked bellow.
}
if ((target != null) && (skillId > 0))
@@ -389,6 +390,7 @@ public class AdminBuffs implements IAdminCommandHandler
}
catch (Exception e)
{
// Checked bellow.
}
if (target != null)

View File

@@ -120,7 +120,7 @@ public class AdminInstanceZone implements IAdminCommandHandler
{
int hours = 0;
int minutes = 0;
int id = entry.getKey();
final int id = entry.getKey();
final long remainingTime = (entry.getValue() - System.currentTimeMillis()) / 1000;
if (remainingTime > 0)
{

View File

@@ -30,8 +30,8 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.util.BuilderUtil;
/**
* This class handles following admin commands: - kill = kills target Creature - kill_monster = kills target non-player - kill <radius> = If radius is specified, then ALL players only in that radius will be killed. - kill_monster <radius> = If radius is specified, then ALL non-players only in
* that radius will be killed.
* This class handles following admin commands: - kill = kills target Creature - kill_monster = kills target non-player - kill <radius> = If radius is specified, then ALL players only in that radius will be killed. - kill_monster <radius> = If radius is specified, then ALL non-players only in that
* radius will be killed.
* @version $Revision: 1.2.4.5 $ $Date: 2007/07/31 10:06:06 $
*/
public class AdminKill implements IAdminCommandHandler

View File

@@ -316,7 +316,7 @@ public class AdminQuest implements IAdminCommandHandler
{
continue;
}
else if (n.isDirectory())
if (n.isDirectory())
{
sb.append("<a action=\"bypass -h admin_script_dir " + c + "\">" + c + "</a><br1>");
}
@@ -348,7 +348,7 @@ public class AdminQuest implements IAdminCommandHandler
{
continue;
}
else if (n.isDirectory())
if (n.isDirectory())
{
sb.append("<a action=\"bypass -h admin_script_dir " + currentPath + "/" + c + "\">" + (questReducedNames ? getQuestName(c) : c) + "</a><br1>");
}

View File

@@ -69,7 +69,7 @@ public class AdminShop implements IAdminCommandHandler
{
try
{
int listId = Integer.parseInt(command.substring(16).trim());
final int listId = Integer.parseInt(command.substring(16).trim());
MultisellData.getInstance().separateAndSend(listId, activeChar, null, false);
}
catch (NumberFormatException | IndexOutOfBoundsException e)
@@ -81,7 +81,7 @@ public class AdminShop implements IAdminCommandHandler
{
try
{
int listId = Integer.parseInt(command.substring(20).trim());
final int listId = Integer.parseInt(command.substring(20).trim());
MultisellData.getInstance().separateAndSend(listId, activeChar, null, true);
}
catch (NumberFormatException | IndexOutOfBoundsException e)

View File

@@ -101,6 +101,7 @@ public class AdminSkill implements IAdminCommandHandler
}
catch (StringIndexOutOfBoundsException e)
{
// Not important.
}
}
else if (command.startsWith("admin_skill_list"))
@@ -116,6 +117,7 @@ public class AdminSkill implements IAdminCommandHandler
}
catch (StringIndexOutOfBoundsException e)
{
// Not important.
}
}
else if (command.startsWith("admin_add_skill"))

View File

@@ -84,7 +84,7 @@ public class FindPvP implements IBypassHandler
// Check if the player's clan is already outnumbering the PvP
if (player.getClan() != null)
{
Map<Integer, Integer> clanNumbers = new HashMap<>();
final Map<Integer, Integer> clanNumbers = new HashMap<>();
int allyId = player.getAllyId();
if (allyId == 0)
{

View File

@@ -33,7 +33,7 @@ import org.l2jmobius.gameserver.network.serverpackets.ExItemAuctionInfoPacket;
public class ItemAuctionLink implements IBypassHandler
{
private static final SimpleDateFormat fmt = new SimpleDateFormat("HH:mm:ss dd.MM.yyyy");
private static final SimpleDateFormat SDF = new SimpleDateFormat("HH:mm:ss dd.MM.yyyy");
private static final String[] COMMANDS =
{
@@ -91,7 +91,7 @@ public class ItemAuctionLink implements IBypassHandler
if (nextAuction != null)
{
player.sendMessage("The next auction will begin on the " + fmt.format(new Date(nextAuction.getStartingTime())) + ".");
player.sendMessage("The next auction will begin on the " + SDF.format(new Date(nextAuction.getStartingTime())) + ".");
}
return true;
}

View File

@@ -408,7 +408,7 @@ public class NpcViewMod implements IBypassHandler
{
final StringBuilder sb = new StringBuilder();
int height = 64;
final int height = 64;
final DropHolder dropItem = dropList.get(i);
final Item item = ItemTable.getInstance().getTemplate(dropItem.getItemId());

View File

@@ -143,38 +143,38 @@ public class DropSearchBoard implements IParseBoardHandler
public boolean parseCommunityBoardCommand(String command, PlayerInstance player)
{
final String navigation = HtmCache.getInstance().getHtm(player, NAVIGATION_PATH);
String[] params = command.split(" ");
final String[] params = command.split(" ");
String html = HtmCache.getInstance().getHtm(player, "data/html/CommunityBoard/Custom/dropsearch/main.html");
switch (params[0])
{
case "_bbs_search_item":
{
String itemName = buildItemName(params);
String result = buildItemSearchResult(itemName);
final String itemName = buildItemName(params);
final String result = buildItemSearchResult(itemName);
html = html.replace("%searchResult%", result);
break;
}
case "_bbs_search_drop":
{
final DecimalFormat chanceFormat = new DecimalFormat("0.00##");
int itemId = Integer.parseInt(params[1]);
final int itemId = Integer.parseInt(params[1]);
int page = Integer.parseInt(params[2]);
List<CBDropHolder> list = DROP_INDEX_CACHE.get(itemId);
final List<CBDropHolder> list = DROP_INDEX_CACHE.get(itemId);
int pages = list.size() / 14;
if (pages == 0)
{
pages++;
}
int start = (page - 1) * 14;
int end = Math.min(list.size() - 1, start + 14);
StringBuilder builder = new StringBuilder();
final int start = (page - 1) * 14;
final int end = Math.min(list.size() - 1, start + 14);
final StringBuilder builder = new StringBuilder();
final double dropAmountEffectBonus = player.getStat().getValue(Stats.BONUS_DROP_AMOUNT, 1);
final double dropRateEffectBonus = player.getStat().getValue(Stats.BONUS_DROP_RATE, 1);
final double spoilRateEffectBonus = player.getStat().getValue(Stats.BONUS_SPOIL_RATE, 1);
for (int index = start; index <= end; index++)
{
CBDropHolder cbDropHolder = list.get(index);
final CBDropHolder cbDropHolder = list.get(index);
// real time server rate calculations
double rateChance = 1;
@@ -299,15 +299,15 @@ public class DropSearchBoard implements IParseBoardHandler
}
case "_bbs_npc_trace":
{
int npcId = Integer.parseInt(params[1]);
List<NpcSpawnTemplate> spawnList = SpawnsData.getInstance().getNpcSpawns(npc -> npc.getId() == npcId);
final int npcId = Integer.parseInt(params[1]);
final List<NpcSpawnTemplate> spawnList = SpawnsData.getInstance().getNpcSpawns(npc -> npc.getId() == npcId);
if (spawnList.isEmpty())
{
player.sendMessage("Cannot find any spawn. Maybe dropped by a boss or instance monster.");
}
else
{
NpcSpawnTemplate spawn = spawnList.get(Rnd.get(spawnList.size()));
final NpcSpawnTemplate spawn = spawnList.get(Rnd.get(spawnList.size()));
player.getRadar().addMarker(spawn.getSpawnLocation().getX(), spawn.getSpawnLocation().getY(), spawn.getSpawnLocation().getZ());
}
break;
@@ -330,8 +330,8 @@ public class DropSearchBoard implements IParseBoardHandler
private String buildItemSearchResult(String itemName)
{
int limit = 0;
Set<Integer> existInDropData = DROP_INDEX_CACHE.keySet();
List<Item> items = new ArrayList<>();
final Set<Integer> existInDropData = DROP_INDEX_CACHE.keySet();
final List<Item> items = new ArrayList<>();
for (Item item : ItemTable.getInstance().getAllItems())
{
if (item == null)
@@ -363,7 +363,7 @@ public class DropSearchBoard implements IParseBoardHandler
int line = 0;
StringBuilder builder = new StringBuilder(items.size() * 28);
final StringBuilder builder = new StringBuilder(items.size() * 28);
int i = 0;
for (Item item : items)
{
@@ -416,7 +416,7 @@ public class DropSearchBoard implements IParseBoardHandler
*/
private String buildItemName(String[] params)
{
StringJoiner joiner = new StringJoiner(" ");
final StringJoiner joiner = new StringJoiner(" ");
for (int i = 1; i < params.length; i++)
{
joiner.add(params[i]);

View File

@@ -102,7 +102,7 @@ public class HomeBoard implements IParseBoardHandler
@Override
public String[] getCommunityBoardCommands()
{
List<String> commands = new ArrayList<>();
final List<String> commands = new ArrayList<>();
commands.addAll(Arrays.asList(COMMANDS));
commands.addAll(Arrays.asList(CUSTOM_COMMANDS));
return commands.stream().filter(Objects::nonNull).toArray(String[]::new);
@@ -204,7 +204,7 @@ public class HomeBoard implements IParseBoardHandler
{
player.destroyItemByItemId("CB_Buff", Config.COMMUNITYBOARD_CURRENCY, Config.COMMUNITYBOARD_BUFF_PRICE * buffCount, player, true);
final PetInstance pet = player.getPet();
List<Creature> targets = new ArrayList<>(4);
final List<Creature> targets = new ArrayList<>(4);
targets.add(player);
if (pet != null)
{

View File

@@ -36,7 +36,7 @@ public class DisableSkill extends AbstractEffect
public DisableSkill(StatsSet params)
{
String disable = params.getString("disable");
final String disable = params.getString("disable");
if ((disable != null) && !disable.isEmpty())
{
disableSkills = new HashSet<>();

View File

@@ -38,7 +38,7 @@ public class DispelBySlotMyself extends AbstractEffect
public DispelBySlotMyself(StatsSet params)
{
String dispel = params.getString("dispel");
final String dispel = params.getString("dispel");
if ((dispel != null) && !dispel.isEmpty())
{
_dispelAbnormals = new HashSet<>();

View File

@@ -34,10 +34,10 @@ import org.l2jmobius.gameserver.model.skills.Skill;
public class DispelCaster extends AbstractEffect
{
private final Set<AbnormalType> _dispelAbnormals;
public DispelCaster(StatsSet params)
{
String dispel = params.getString("dispel");
final String dispel = params.getString("dispel");
if ((dispel != null) && !dispel.isEmpty())
{
_dispelAbnormals = new HashSet<>();
@@ -51,19 +51,19 @@ public class DispelCaster extends AbstractEffect
_dispelAbnormals = Collections.<AbnormalType> emptySet();
}
}
@Override
public EffectType getEffectType()
{
return EffectType.DISPEL_BY_SLOT;
}
@Override
public boolean isInstant()
{
return true;
}
@Override
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
{
@@ -71,7 +71,7 @@ public class DispelCaster extends AbstractEffect
{
return;
}
// The effectlist should already check if it has buff with this abnormal type or not.
effector.getEffectList().stopEffects(info -> !info.getSkill().isIrreplacableBuff() && _dispelAbnormals.contains(info.getSkill().getAbnormalType()), true, true);
}

View File

@@ -51,7 +51,7 @@ public class FatalBlow extends AbstractEffect
_criticalChance = params.getDouble("criticalChance", 0);
_overHit = params.getBoolean("overHit", false);
String abnormals = params.getString("abnormalType", null);
final String abnormals = params.getString("abnormalType", null);
if ((abnormals != null) && !abnormals.isEmpty())
{
_abnormals = new HashSet<>();

View File

@@ -87,7 +87,7 @@ public class RebalanceHP extends AbstractEffect
}
}
double percentHP = currentHPs / fullHP;
final double percentHP = currentHPs / fullHP;
for (PlayerInstance member : party.getMembers())
{
if (!member.isDead() && Util.checkIfInRange(skill.getAffectRange(), effector, member, true))

View File

@@ -70,7 +70,7 @@ public class RebalanceHPSummon extends AbstractEffect
fullHP += effector.getMaxHp();
currentHPs += effector.getCurrentHp();
double percentHP = currentHPs / fullHP;
final double percentHP = currentHPs / fullHP;
for (Summon summon : effector.getServitors().values())
{
if (!summon.isDead() && Util.checkIfInRange(skill.getAffectRange(), effector, summon, true))

View File

@@ -109,7 +109,7 @@ public class RestorationRandom extends AbstractEffect
continue;
}
long itemCount = (long) (createdItem.getCount() * Config.RATE_EXTRACTABLE);
final long itemCount = (long) (createdItem.getCount() * Config.RATE_EXTRACTABLE);
final ItemInstance newItem = player.addItem("Extract", createdItem.getId(), itemCount, effector, false);
if (createdItem.getMaxEnchant() > 0)

View File

@@ -75,7 +75,7 @@ public class TrackLimitedSkill extends AbstractEffect
private void trackAeoreLimit(Creature effector, Creature effected, int limitSkillId)
{
limitAeoreLevel = 0;
EffectList effectList = effected.getEffectList();
final EffectList effectList = effected.getEffectList();
for (BuffInfo debuff : effectList.getDebuffs())
{
if (debuff.getSkill().getId() == limitSkillId)
@@ -98,7 +98,7 @@ public class TrackLimitedSkill extends AbstractEffect
private void trackSigelLimit(Creature effector, Creature effected, int limitSkillId)
{
limitSigelLevel = 0;
EffectList effectList = effected.getEffectList();
final EffectList effectList = effected.getEffectList();
for (BuffInfo debuff : effectList.getDebuffs())
{
if (debuff.getSkill().getId() == limitSkillId)
@@ -121,7 +121,7 @@ public class TrackLimitedSkill extends AbstractEffect
private void trackIssLimit(Creature effector, Creature effected, int limitSkillId)
{
limitIssLevel = 0;
EffectList effectList = effected.getEffectList();
final EffectList effectList = effected.getEffectList();
for (BuffInfo debuff : effectList.getDebuffs())
{
if (debuff.getSkill().getId() == limitSkillId)

View File

@@ -277,7 +277,7 @@ public class AltarOfShilen extends AbstractInstance
final Instance world = npc.getInstanceWorld();
if (world != null)
{
int npcId = npc.getId();
final int npcId = npc.getId();
if (!_killedMonsters.containsKey(npcId))
{
_killedMonsters.put(npcId, 1);
@@ -410,7 +410,7 @@ public class AltarOfShilen extends AbstractInstance
public String onFirstTalk(Npc npc, PlayerInstance player)
{
final Instance world = npc.getInstanceWorld();
String htmltext = null;
final String htmltext = null;
if (isInInstance(world))
{
switch (npc.getId())

View File

@@ -103,13 +103,13 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance
{
case "HP_REGEN_TIMER":
{
int value = ((baseId == 5) || (baseId == 6)) ? 5 : baseId;
final int value = ((baseId == 5) || (baseId == 6)) ? 5 : baseId;
npc.getStat().addFixedValue(Stats.REGENERATE_HP_RATE, Double.valueOf(value * 1000));
break;
}
case "SUPPORT_SPAWN_TIMER":
{
int supportVal = npcVars.getInt("SUPPORT_VALUE", 0);
final int supportVal = npcVars.getInt("SUPPORT_VALUE", 0);
if (supportVal > 3)
{

View File

@@ -166,7 +166,7 @@ public class KartiaHelperElise extends AbstractNpcAI
final Map<WorldObject, Integer> hpMap = new HashMap<>();
instance.getAliveNpcs(KARTIA_FRIENDS).forEach(friend -> hpMap.put(friend, friend != null ? friend.getCurrentHpPercent() : 100));
hpMap.put(plr, plr != null ? plr.getCurrentHpPercent() : 100);
Map<WorldObject, Integer> sortedHpMap = Util.sortByValue(hpMap, false);
final Map<WorldObject, Integer> sortedHpMap = Util.sortByValue(hpMap, false);
// See if any friends are below 80% HP and add to list of people to heal.
final List<WorldObject> peopleToHeal = new ArrayList<>();
@@ -195,12 +195,12 @@ public class KartiaHelperElise extends AbstractNpcAI
{
if (personToHeal.getInstanceType() == InstanceType.PlayerInstance)
{
PlayerInstance thePlayer = (PlayerInstance) personToHeal;
final PlayerInstance thePlayer = (PlayerInstance) personToHeal;
thePlayer.setCurrentHp((thePlayer.getMaxHp() * .20) + thePlayer.getCurrentHp());
}
else
{
Npc npcToHeal = (Npc) personToHeal;
final Npc npcToHeal = (Npc) personToHeal;
npcToHeal.setCurrentHp((npcToHeal.getMaxHp() * .20) + npcToHeal.getCurrentHp());
}
}

View File

@@ -225,7 +225,7 @@ public class StoryOfTauti extends AbstractInstance
{
if (!npc.isDead())
{
for (final Npc nearby : World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 1000))
for (Npc nearby : World.getInstance().getVisibleObjectsInRange(npc, FriendlyNpcInstance.class, 1000))
{
if ((nearby.getId() == FLAME_FLOWER) && npc.isScriptValue(0) && nearby.isScriptValue(0))
{
@@ -786,7 +786,7 @@ public class StoryOfTauti extends AbstractInstance
case FLAME_FLOWER:
{
npc.setCurrentHp(npc.getMaxHp() * 0.20);
for (final Npc tombstone : World.getInstance().getVisibleObjectsInRange(npc, MonsterInstance.class, 500))
for (Npc tombstone : World.getInstance().getVisibleObjectsInRange(npc, MonsterInstance.class, 500))
{
if (tombstone.getId() == SEAL_TOMBSTONE)
{
@@ -863,7 +863,7 @@ public class StoryOfTauti extends AbstractInstance
}
case NPC_1:
{
for (final PlayerInstance nearby : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 2000))
for (PlayerInstance nearby : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 2000))
{
if (npc.isScriptValue(0) && (nearby != null))
{

View File

@@ -46,7 +46,7 @@ public class Q00032_AnObviousLie extends Quest
// Misc
private static final int MIN_LVL = 45;
// Reward
private static final Map<String, Integer> EARS = new HashMap<>();
private static final Map<String, Integer> EARS = new HashMap<>();
static
{
EARS.put("cat", 6843); // Cat Ears

View File

@@ -144,7 +144,7 @@ public class Q00061_LawEnforcement extends Quest
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
QuestState qs = getQuestState(player, true);
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
switch (qs.getState())

View File

@@ -49,13 +49,13 @@ public class Q00109_InSearchOfTheNest extends Quest
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
QuestState qs = getQuestState(player, false);
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);
}
String htmltext = null;
final String htmltext = null;
switch (event)
{

View File

@@ -48,7 +48,7 @@ public class Q00110_ToThePrimevalIsle extends Quest
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
QuestState qs = getQuestState(player, false);
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return getNoQuestMsg(player);

View File

@@ -258,7 +258,7 @@ public class Q00111_ElrokianHuntersProof extends Quest
@Override
public String onTalk(Npc npc, PlayerInstance player)
{
QuestState qs = getQuestState(player, true);
final QuestState qs = getQuestState(player, true);
String htmltext = getNoQuestMsg(player);
if (qs == null)
{

View File

@@ -90,7 +90,7 @@ public class Q00454_CompletelyLost extends Quest
final PlayerInstance leader = npc.getVariables().getObject("leader", PlayerInstance.class);
if (leader != null)
{
double dist = Util.calculateDistance(npc, leader, false, false);
final double dist = Util.calculateDistance(npc, leader, false, false);
if (dist > 1000)
{
if (((dist > 5000) && (dist < 6900)) || ((dist > 31000) && (dist < 32000)))

View File

@@ -205,7 +205,7 @@ public class Q00457_LostAndFound extends Quest
public String onTalk(Npc npc, PlayerInstance player)
{
String htmltext = getNoQuestMsg(player);
QuestState qs = getQuestState(player, true);
final QuestState qs = getQuestState(player, true);
switch (qs.getState())
{

View File

@@ -307,10 +307,10 @@ public class Q00482_RecertificationOfValue extends Quest
final QuestState qs = getQuestState(killer, false);
if ((qs != null) && qs.isCond(1))
{
int npcId = npc.getId();
final int npcId = npc.getId();
String variable = String.valueOf(npcId); // i3
int currentValue = qs.getInt(variable);
final String variable = String.valueOf(npcId); // i3
final int currentValue = qs.getInt(variable);
if (currentValue < 10)
{
qs.set(variable, String.valueOf(currentValue + 1)); // IncreaseNPCLogByID

View File

@@ -100,7 +100,7 @@ public class Q00562_BasicMissionAltarOfEvil extends Quest
}
case "34413-07.html":
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
@@ -219,7 +219,7 @@ public class Q00562_BasicMissionAltarOfEvil extends Quest
}
else
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
{
@@ -257,7 +257,7 @@ public class Q00562_BasicMissionAltarOfEvil extends Quest
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
{
int index = 0;
char ch = '1';
final char ch = '1';
final QuestState st1 = player.getQuestState("Q00581_ThePurificationRitual");
if ((st1 != null) && st1.isCompleted())
{

View File

@@ -79,7 +79,7 @@ public class Q00563_BasicMissionBloodySwampland extends Quest
}
case "34413-06.html":
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
@@ -134,7 +134,7 @@ public class Q00563_BasicMissionBloodySwampland extends Quest
}
else if (qs.isCond(2))
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
@@ -172,7 +172,7 @@ public class Q00563_BasicMissionBloodySwampland extends Quest
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
{
int index = 0;
char ch = '1';
final char ch = '1';
final QuestState st1 = player.getQuestState("Q00583_MeaningOfSurvival");
if ((st1 != null) && st1.isCompleted())
{

View File

@@ -92,7 +92,7 @@ public class Q00564_BasicMissionKartiasLabyrinthSolo extends Quest
}
case "34413-09.html":
{
StringBuilder str = new StringBuilder("000");
final StringBuilder str = new StringBuilder("000");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("1") == -1) // verify if no quest completed
@@ -153,7 +153,7 @@ public class Q00564_BasicMissionKartiasLabyrinthSolo extends Quest
{
if (qs.isCond(2))
{
StringBuilder str = new StringBuilder("000");
final StringBuilder str = new StringBuilder("000");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("1") != -1) // verify if any quest completed
@@ -183,7 +183,7 @@ public class Q00564_BasicMissionKartiasLabyrinthSolo extends Quest
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
{
int index = 0;
char ch = '1';
final char ch = '1';
final QuestState st1 = player.getQuestState("Q00497_IncarnationOfGreedZellakaSolo");
if ((st1 != null) && st1.isCompleted())
{

View File

@@ -101,7 +101,7 @@ public class Q00565_BasicMissionFairySettlementWest extends Quest
}
case "34413-07.html":
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
@@ -220,7 +220,7 @@ public class Q00565_BasicMissionFairySettlementWest extends Quest
}
else
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
{
@@ -258,7 +258,7 @@ public class Q00565_BasicMissionFairySettlementWest extends Quest
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
{
int index = 0;
char ch = '1';
final char ch = '1';
final QuestState st1 = player.getQuestState("Q00773_ToCalmTheFlood");
if ((st1 != null) && st1.isCompleted())
{

View File

@@ -101,7 +101,7 @@ public class Q00566_BasicMissionFairySettlementEast extends Quest
}
case "34413-07.html":
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
@@ -220,7 +220,7 @@ public class Q00566_BasicMissionFairySettlementEast extends Quest
}
else
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
{
@@ -258,7 +258,7 @@ public class Q00566_BasicMissionFairySettlementEast extends Quest
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
{
int index = 0;
char ch = '1';
final char ch = '1';
final QuestState st1 = player.getQuestState("Q00774_DreamingOfPeace");
if ((st1 != null) && st1.isCompleted())
{

View File

@@ -101,7 +101,7 @@ public class Q00567_BasicMissionIsleOfSouls extends Quest
}
case "34413-07.html":
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
@@ -220,7 +220,7 @@ public class Q00567_BasicMissionIsleOfSouls extends Quest
}
else
{
StringBuilder str = new StringBuilder("00");
final StringBuilder str = new StringBuilder("00");
checkQuestCompleted(player, str); // Initialize the array with all quests completed
if (str.indexOf("11") != -1) // verify if all quests completed
{
@@ -258,7 +258,7 @@ public class Q00567_BasicMissionIsleOfSouls extends Quest
private StringBuilder checkQuestCompleted(PlayerInstance player, StringBuilder string)
{
int index = 0;
char ch = '1';
final char ch = '1';
final QuestState st1 = player.getQuestState("Q00752_UncoverTheSecret");
if ((st1 != null) && st1.isCompleted())
{

View File

@@ -173,7 +173,7 @@ public class Q00581_ThePurificationRitual extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(KILLING_COND))
{
final PlayerInstance player = qs.getPlayer();

View File

@@ -176,7 +176,7 @@ public class Q00582_WashBloodWithBlood extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(KILLING_COND))
{
final PlayerInstance player = qs.getPlayer();

View File

@@ -174,7 +174,7 @@ public class Q00583_MeaningOfSurvival extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(KILLING_COND))
{
final PlayerInstance player = qs.getPlayer();

View File

@@ -177,7 +177,7 @@ public class Q00584_NeverSayGoodBye extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
final QuestState qs = PARTY_QUEST ? getRandomPartyMemberState(killer, -1, 3, npc) : getQuestState(killer, false);
if ((qs != null) && qs.isCond(KILLING_COND))
{
final PlayerInstance player = qs.getPlayer();

View File

@@ -222,8 +222,8 @@ public class Q00783_VestigeOfTheMagicPower extends Quest
for (PlayerInstance singleMember : partyMember)
{
QuestState qsPartyMember = getQuestState(singleMember, false);
double distance = npc.calculateDistance3D(singleMember);
final QuestState qsPartyMember = getQuestState(singleMember, false);
final double distance = npc.calculateDistance3D(singleMember);
if ((qsPartyMember != null) && (distance <= 1000))
{
if (qsPartyMember.isCond(2) && giveItemRandomly(singleMember, npc, HIGH_GRADE_FRAGMENT_OF_CHAOS, 1, 300, 1, true))

View File

@@ -134,7 +134,7 @@ public class Q00833_DevilsTreasureTauti extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -41,7 +41,7 @@ public class Q10274_CollectingInTheAir extends Quest
private static final int BLUE = 13859;
private static final int GREEN = 13860;
// Monsters
private static final int MOBS[] =
private static final int[] MOBS =
{
18684, // Red Star Stone
18685, // Red Star Stone

View File

@@ -183,8 +183,8 @@ public class Q10304_ForForgottenHeroes extends Quest
final QuestState qs = getQuestState(player, false);
if (qs != null)
{
int cond = qs.getCond();
int npcId = npc.getId();
final int cond = qs.getCond();
final int npcId = npc.getId();
if (player.isInsideRadius3D(npc, Config.ALT_PARTY_RANGE))
{
if ((npcId == YUI) && (cond == 2))

View File

@@ -120,7 +120,7 @@ public class Q10377_TheInvadedExecutionGrounds extends Quest
@Override
public String onFirstTalk(Npc npc, PlayerInstance player)
{
QuestState qs = getQuestState(player, false);
final QuestState qs = getQuestState(player, false);
if (qs != null)
{
switch (npc.getId())

View File

@@ -181,6 +181,6 @@ public class Q10707_FlamesOfSorrow extends Quest
public String onFirstTalk(Npc npc, PlayerInstance player)
{
final QuestState qs = getQuestState(player, false);
return(qs != null) && qs.isCond(1) ? "19545.html" : "19545-no.html";
return (qs != null) && qs.isCond(1) ? "19545.html" : "19545-no.html";
}
}

View File

@@ -64,7 +64,7 @@ public class Q10755_LettersFromTheQueenWindyHill extends LetterQuest
return null;
}
String htmltext = event;
final String htmltext = event;
switch (event)
{
case "30037-02.html":

View File

@@ -64,7 +64,7 @@ public class Q10760_LettersFromTheQueenOrcBarracks extends LetterQuest
return null;
}
String htmltext = event;
final String htmltext = event;
switch (event)
{
case "30037-02.html":

View File

@@ -68,12 +68,13 @@ public class Q10796_TheEyeThatDefiedTheGods extends Quest
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
return htmltext;
}
String htmltext = event;
switch (event)
{
case "31616-02.htm":

View File

@@ -73,12 +73,13 @@ public class Q10797_CrossingFate extends Quest
@Override
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
{
String htmltext = null;
final QuestState qs = getQuestState(player, false);
if (qs == null)
{
return null;
return htmltext;
}
String htmltext = event;
switch (event)
{
case "31683-02.htm":

View File

@@ -131,7 +131,7 @@ public class Q10801_TheDimensionalWarpPart1 extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -131,7 +131,7 @@ public class Q10802_TheDimensionalWarpPart2 extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -133,7 +133,7 @@ public class Q10803_TheDimensionalWarpPart3 extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -133,7 +133,7 @@ public class Q10804_TheDimensionalWarpPart4 extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -133,7 +133,7 @@ public class Q10805_TheDimensionalWarpPart5 extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -131,7 +131,7 @@ public class Q10806_TheDimensionalWarpPart6 extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -131,7 +131,7 @@ public class Q10807_TheDimensionalWarpPart7 extends Quest
@Override
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
{
Party party = killer.getParty();
final Party party = killer.getParty();
if (party != null)
{
party.getMembers().forEach(p -> onKill(npc, p));

View File

@@ -276,28 +276,25 @@ public abstract class AirShipController extends AbstractNpcAI
@Override
public String onEnterZone(Creature creature, ZoneType zone)
{
if (creature instanceof ControllableAirShipInstance)
if ((creature instanceof ControllableAirShipInstance) && (_dockedShip == null))
{
if (_dockedShip == null)
_dockedShip = (ControllableAirShipInstance) creature;
_dockedShip.setInDock(_dockZone);
_dockedShip.setOustLoc(_oustLoc);
// Ship is not empty - display movie to passengers and dock
if (!_dockedShip.isEmpty())
{
_dockedShip = (ControllableAirShipInstance) creature;
_dockedShip.setInDock(_dockZone);
_dockedShip.setOustLoc(_oustLoc);
if (_movie != null)
{
playMovie(_dockedShip.getPassengers(), _movie);
}
// Ship is not empty - display movie to passengers and dock
if (!_dockedShip.isEmpty())
{
if (_movie != null)
{
playMovie(_dockedShip.getPassengers(), _movie);
}
ThreadPool.schedule(_decayTask, 1000);
}
else
{
_departSchedule = ThreadPool.schedule(_departTask, DEPART_INTERVAL);
}
ThreadPool.schedule(_decayTask, 1000);
}
else
{
_departSchedule = ThreadPool.schedule(_departTask, DEPART_INTERVAL);
}
}
return null;
@@ -306,20 +303,17 @@ public abstract class AirShipController extends AbstractNpcAI
@Override
public String onExitZone(Creature creature, ZoneType zone)
{
if (creature instanceof ControllableAirShipInstance)
if ((creature instanceof ControllableAirShipInstance) && creature.equals(_dockedShip))
{
if (creature.equals(_dockedShip))
if (_departSchedule != null)
{
if (_departSchedule != null)
{
_departSchedule.cancel(false);
_departSchedule = null;
}
_dockedShip.setInDock(0);
_dockedShip = null;
_isBusy = false;
_departSchedule.cancel(false);
_departSchedule = null;
}
_dockedShip.setInDock(0);
_dockedShip = null;
_isBusy = false;
}
return null;
}
@@ -358,14 +352,11 @@ public abstract class AirShipController extends AbstractNpcAI
}
}
}
if (_arrivalPath == null)
else if (!ZoneManager.getInstance().getZoneById(_dockZone, ScriptZone.class).isInsideZone(_shipSpawnX, _shipSpawnY, _shipSpawnZ))
{
if (!ZoneManager.getInstance().getZoneById(_dockZone, ScriptZone.class).isInsideZone(_shipSpawnX, _shipSpawnY, _shipSpawnZ))
{
LOGGER.warning(getName() + ": Arrival path is null and spawn point not in zone " + _dockZone + ", controller disabled");
_isBusy = true;
return;
}
LOGGER.warning(getName() + ": Arrival path is null and spawn point not in zone " + _dockZone + ", controller disabled");
_isBusy = true;
return;
}
if (_departPath != null)