Code review Part 3.

This commit is contained in:
MobiusDevelopment
2019-12-20 00:35:40 +00:00
parent 6954f58f5e
commit cd1f62cc68
2014 changed files with 9456 additions and 12142 deletions

View File

@@ -50,7 +50,6 @@ import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
/**
* @version $Revision: $ $Date: $
* @author L2J_JP SANDMAN
*/
public class Antharas extends Quest
@@ -61,7 +60,7 @@ public class Antharas extends Quest
private static final int FWA_ACTIVITYTIMEOFANTHARAS = 120;
// private static final int FWA_APPTIMEOFANTHARAS = 1800000;
// private static final int FWA_INACTIVITYTIME = 900000;
// private static final boolean FWA_OLDANTHARAS = true; //use antharas interlude with minions
// private static final boolean FWA_OLDANTHARAS = true; // use antharas interlude with minions
protected static final boolean FWA_OLDANTHARAS = Config.ANTHARAS_OLD; // use antharas interlude with minions
private static final boolean FWA_MOVEATRANDOM = true;
private static final boolean FWA_DOSERVEREARTHQUAKE = true;
@@ -75,15 +74,13 @@ public class Antharas extends Quest
private static final int FWA_PERCENTOFBEHEMOTH = 60;
private static final int FWA_SELFDESTRUCTTIME = 15000;
// Location of teleport cube.
private final int _teleportCubeId = 31859;
private final int _teleportCubeLocation[][] =
private static final int TELEPORT_CUBE = 31859;
private static final int[] TELEPORT_CUBE_LOCATION =
{
{
177615,
114941,
-7709,
0
}
177615,
114941,
-7709,
0
};
protected Collection<Spawn> _teleportCubeSpawn = ConcurrentHashMap.newKeySet();
@@ -104,7 +101,7 @@ public class Antharas extends Quest
// Tasks.
protected ScheduledFuture<?> _cubeSpawnTask = null;
protected volatile ScheduledFuture<?> _monsterSpawnTask = null;
protected ScheduledFuture<?> _monsterSpawnTask = null;
protected ScheduledFuture<?> _activityCheckTask = null;
protected ScheduledFuture<?> _socialTask = null;
protected ScheduledFuture<?> _mobiliseTask = null;
@@ -223,21 +220,18 @@ public class Antharas extends Quest
// Setting spawn data of teleport cube.
try
{
final NpcTemplate Cube = NpcTable.getInstance().getTemplate(_teleportCubeId);
final NpcTemplate cube = NpcTable.getInstance().getTemplate(TELEPORT_CUBE);
Spawn spawnDat;
for (int[] element : _teleportCubeLocation)
{
spawnDat = new Spawn(Cube);
spawnDat.setAmount(1);
spawnDat.setX(element[0]);
spawnDat.setY(element[1]);
spawnDat.setZ(element[2]);
spawnDat.setHeading(element[3]);
spawnDat.setRespawnDelay(60);
spawnDat.setLocation(0);
SpawnTable.getInstance().addNewSpawn(spawnDat, false);
_teleportCubeSpawn.add(spawnDat);
}
spawnDat = new Spawn(cube);
spawnDat.setAmount(1);
spawnDat.setX(TELEPORT_CUBE_LOCATION[0]);
spawnDat.setY(TELEPORT_CUBE_LOCATION[1]);
spawnDat.setZ(TELEPORT_CUBE_LOCATION[2]);
spawnDat.setHeading(TELEPORT_CUBE_LOCATION[3]);
spawnDat.setRespawnDelay(60);
spawnDat.setLocation(0);
SpawnTable.getInstance().addNewSpawn(spawnDat, false);
_teleportCubeSpawn.add(spawnDat);
}
catch (Exception e)
{
@@ -447,11 +441,11 @@ public class Antharas extends Quest
{
npcId = 29019; // old
}
else if ((_players == null) || ((_players != null) && (_players.size() <= FWA_LIMITOFWEAK)))
else if ((_players == null) || (_players.size() <= FWA_LIMITOFWEAK))
{
npcId = 29066; // weak
}
else if ((_players != null) && (_players.size() > FWA_LIMITOFNORMAL))
else if (_players.size() > FWA_LIMITOFNORMAL)
{
npcId = 29068; // strong
}
@@ -586,10 +580,6 @@ public class Antharas extends Quest
// Do spawn Behemoth or Bomber.
private class MobsSpawn implements Runnable
{
public MobsSpawn()
{
}
@Override
public void run()
{
@@ -629,17 +619,14 @@ public class Antharas extends Quest
final int ry = Rnd.get(112400, 116000);
final int rdt = ((_antharas.getX() - rx) * (_antharas.getX() - rx)) + ((_antharas.getY() - ry) * (_antharas.getY() - ry));
final Location randomLocation = new Location(rx, ry, -7704);
if (GeoEngine.getInstance().canSeeTarget(_antharas, randomLocation))
if (GeoEngine.getInstance().canSeeTarget(_antharas, randomLocation) && (rdt < dt))
{
if (rdt < dt)
x = rx;
y = ry;
dt = rdt;
if (rdt <= 900000)
{
x = rx;
y = ry;
dt = rdt;
if (rdt <= 900000)
{
notFound = false;
}
notFound = false;
}
}
}

View File

@@ -79,7 +79,7 @@ public class Baium extends Quest
// Archangel locations.
// @formatter:off
private static final int ANGEL_LOCATION[][] =
private static final int[][] ANGEL_LOCATION =
{
{114239, 17168, 10080, 63544},
{115780, 15564, 10080, 13620},
@@ -151,20 +151,19 @@ public class Baium extends Quest
Announcements.getInstance().announceToAll("Raid boss " + baium.getName() + " spawned in world.");
}
GrandBossManager.getInstance().addBoss(baium);
final NpcInstance _baium = baium;
ThreadPool.schedule(() ->
{
try
{
_baium.setCurrentHpMp(hp, mp);
_baium.setIsInvul(true);
baium.setCurrentHpMp(hp, mp);
baium.setIsInvul(true);
// _baium.setIsImobilised(true);
_baium.broadcastPacket(new SocialAction(_baium.getObjectId(), 2));
startQuestTimer("baium_wakeup", 15000, _baium, null);
baium.broadcastPacket(new SocialAction(baium.getObjectId(), 2));
startQuestTimer("baium_wakeup", 15000, baium, null);
}
catch (Exception e)
{
e.printStackTrace();
LOGGER.warning(e.getMessage());
}
}, 100L);
}
@@ -314,15 +313,14 @@ public class Baium extends Quest
npc.deleteMe();
final GrandBossInstance baium = (GrandBossInstance) addSpawn(LIVE_BAIUM, npc);
GrandBossManager.getInstance().addBoss(baium);
final NpcInstance _baium = baium;
ThreadPool.schedule(() ->
{
try
{
_baium.setIsInvul(true);
_baium.setRunning();
_baium.broadcastPacket(new SocialAction(_baium.getObjectId(), 2));
startQuestTimer("baium_wakeup", 15000, _baium, player);
baium.setIsInvul(true);
baium.setRunning();
baium.broadcastPacket(new SocialAction(baium.getObjectId(), 2));
startQuestTimer("baium_wakeup", 15000, baium, player);
// _baium.setShowSummonAnimation(false);
}
catch (Throwable e)
@@ -392,7 +390,7 @@ public class Baium extends Quest
{
if (attacker.getMountType() == 1)
{
int sk_4258 = 0;
int sk4258 = 0;
final Effect[] effects = attacker.getAllEffects();
if ((effects != null) && (effects.length != 0))
{
@@ -400,11 +398,11 @@ public class Baium extends Quest
{
if (e.getSkill().getId() == 4258)
{
sk_4258 = 1;
sk4258 = 1;
}
}
}
if (sk_4258 == 0)
if (sk4258 == 0)
{
npc.setTarget(attacker);
npc.doCast(SkillTable.getInstance().getInfo(4258, 1));
@@ -462,26 +460,17 @@ public class Baium extends Quest
{
for (WorldObject obj : objs)
{
if (obj instanceof Creature)
if ((obj instanceof Creature) && (((((Creature) obj).getZ() < (npc.getZ() - 100)) && (((Creature) obj).getZ() > (npc.getZ() + 100))) || !GeoEngine.getInstance().canSeeTarget(obj, npc)))
{
if (((((Creature) obj).getZ() < (npc.getZ() - 100)) && (((Creature) obj).getZ() > (npc.getZ() + 100))) || !GeoEngine.getInstance().canSeeTarget(obj, npc))
{
continue;
}
continue;
}
if (obj instanceof PlayerInstance)
if ((obj instanceof PlayerInstance) && Util.checkIfInRange(9000, npc, obj, true) && !((Creature) obj).isDead())
{
if (Util.checkIfInRange(9000, npc, obj, true) && !((Creature) obj).isDead())
{
result.add((PlayerInstance) obj);
}
result.add((PlayerInstance) obj);
}
if (obj instanceof Summon)
if ((obj instanceof Summon) && Util.checkIfInRange(9000, npc, obj, true) && !((Creature) obj).isDead())
{
if (Util.checkIfInRange(9000, npc, obj, true) && !((Creature) obj).isDead())
{
result.add((Summon) obj);
}
result.add((Summon) obj);
}
}
}
@@ -508,8 +497,7 @@ public class Baium extends Quest
timer.cancel();
}
startQuestTimer("clean_player", 20000, npc, null);
final Creature target = (Creature) characters[Rnd.get(characters.length)];
return target;
return (Creature) characters[Rnd.get(characters.length)];
}
public synchronized void callSkillAI(NpcInstance npc)
@@ -557,7 +545,7 @@ public class Baium extends Quest
}
catch (Exception e)
{
e.printStackTrace();
LOGGER.warning(e.getMessage());
}
}
else

View File

@@ -42,7 +42,7 @@ public class Benom extends Quest
private static final int BENOM = 29054;
private static final int BENOM_TELEPORT = 13101;
// Locations
private final static Location[] WALK_ROUTES =
private static final Location[] WALK_ROUTES =
{
new Location(12565, -49739, -547),
new Location(11242, -49689, -33),
@@ -79,7 +79,7 @@ public class Benom extends Quest
new Location(13175, -49153, -537)
};
// Misc
private final static int[] WALK_TIMES =
private static final int[] WALK_TIMES =
{
18000,
17000,
@@ -115,15 +115,15 @@ public class Benom extends Quest
12000,
20000
};
private final static String[] TALK =
private static final String[] TALK =
{
"You should have finished me when you had the chance!!!",
"I will crush all of you!!!",
"I am not finished here, come face me!!!",
"You cowards!!! I will torture each and everyone of you!!!"
};
private final static int ALIVE = 0;
private final static int DEAD = 1;
private static final int ALIVE = 0;
private static final int DEAD = 1;
private static int _benomWalkRouteStep = 0;
private static int _benomIsSpawned = 0;
private static NpcInstance _benomInstance;
@@ -216,7 +216,7 @@ public class Benom extends Quest
case "Attacking":
{
final Collection<PlayerInstance> knownPlayers = npc.getKnownList().getKnownPlayers().values();
if (knownPlayers.size() > 0)
if (!knownPlayers.isEmpty())
{
final PlayerInstance target = knownPlayers.stream().findAny().get();
((MonsterInstance) npc).addDamageHate(target, 0, 999);
@@ -264,7 +264,6 @@ public class Benom extends Quest
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, WALK_ROUTES[_benomWalkRouteStep]);
startQuestTimer("BenomWalk", WALK_TIMES[_benomWalkRouteStep], npc, null);
System.out.println(WALK_TIMES[_benomWalkRouteStep]);
_benomWalkRouteStep = _benomWalkRouteStep + 1;
}
break;

View File

@@ -236,7 +236,6 @@ public class Frintezza extends Quest
private static long _lastAction = 0;
private static int _angle = 0;
private static int _heading = 0;
private static int _locCycle = 0;
private static int _bomber = 0;
private static int _checkDie = 0;
@@ -844,14 +843,14 @@ public class Frintezza extends Quest
}
else if (event.equals("stop_npc"))
{
_heading = npc.getHeading();
if (_heading < 32768)
final int heading = npc.getHeading();
if (heading < 32768)
{
_angle = Math.abs(180 - (int) (_heading / 182.044444444));
_angle = Math.abs(180 - (int) (heading / 182.044444444));
}
else
{
_angle = Math.abs(540 - (int) (_heading / 182.044444444));
_angle = Math.abs(540 - (int) (heading / 182.044444444));
}
}
else if (event.equals("start_pc"))
@@ -1043,45 +1042,45 @@ public class Frintezza extends Quest
_onSong = 2;
}
String SongName = "";
String songName = "";
// Name of the songs are custom, named with client side description.
switch (_onSong)
{
case 1:
{
SongName = "Frintezza's Healing Rhapsody";
songName = "Frintezza's Healing Rhapsody";
break;
}
case 2:
{
SongName = "Frintezza's Rampaging Opus";
songName = "Frintezza's Rampaging Opus";
break;
}
case 3:
{
SongName = "Frintezza's Power Concerto";
songName = "Frintezza's Power Concerto";
break;
}
case 4:
{
SongName = "Frintezza's Plagued Concerto";
songName = "Frintezza's Plagued Concerto";
break;
}
case 5:
{
SongName = "Frintezza's Psycho Symphony";
songName = "Frintezza's Psycho Symphony";
break;
}
default:
{
SongName = "Frintezza's Song";
songName = "Frintezza's Song";
break;
}
}
// Like L2OFF the skill name is printed on screen
_zone.broadcastPacket(new ExShowScreenMessage(SongName, 6000));
_zone.broadcastPacket(new ExShowScreenMessage(songName, 6000));
if ((_onSong == 1) && (_thirdMorph == 1) && (_strongScarlet.getCurrentHp() < (_strongScarlet.getMaxHp() * 0.6)) && (Rnd.get(100) < 80))
{
@@ -1122,45 +1121,45 @@ public class Frintezza extends Quest
return null;
}
String SongName = "";
String songName = "";
// Name of the songs are custom, named with client side description.
switch (_onSong)
{
case 1:
{
SongName = "Frintezza's Concert Hall Melody";
songName = "Frintezza's Concert Hall Melody";
break;
}
case 2:
{
SongName = "Frintezza's Rampaging Opus en masse";
songName = "Frintezza's Rampaging Opus en masse";
break;
}
case 3:
{
SongName = "Frintezza Power Encore";
songName = "Frintezza Power Encore";
break;
}
case 4:
{
SongName = "Mournful Chorale Prelude";
songName = "Mournful Chorale Prelude";
break;
}
case 5:
{
SongName = "Hypnotic Mazurka ";
songName = "Hypnotic Mazurka ";
break;
}
default:
{
SongName = "Frintezza's Song";
songName = "Frintezza's Song";
break;
}
}
// Like L2OFF the skill name is printed on screen
_zone.broadcastPacket(new ExShowScreenMessage(SongName, 6000));
_zone.broadcastPacket(new ExShowScreenMessage(songName, 6000));
if ((_onSong == 1) || (_onSong == 2) || (_onSong == 3))
{
@@ -1339,19 +1338,16 @@ public class Frintezza extends Quest
{
for (Creature creature : _zone.getCharactersInside().values())
{
if (creature instanceof PlayerInstance)
if ((creature instanceof PlayerInstance) && (creature.getFirstEffect(5016) != null))
{
if (creature.getFirstEffect(5016) != null)
{
creature.abortAttack();
creature.abortCast();
creature.disableAllSkills();
creature.stopMove(null);
creature.setIsImobilised(true);
creature.setIsParalyzed(true);
creature.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
creature.startAbnormalEffect(Creature.ABNORMAL_EFFECT_FLOATING_ROOT);
}
creature.abortAttack();
creature.abortCast();
creature.disableAllSkills();
creature.stopMove(null);
creature.setIsImobilised(true);
creature.setIsParalyzed(true);
creature.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
creature.startAbnormalEffect(Creature.ABNORMAL_EFFECT_FLOATING_ROOT);
}
}
startQuestTimer("stop_effect", 25000, npc, null);
@@ -1469,23 +1465,23 @@ public class Frintezza extends Quest
}
else if (status == DORMANT)
{
boolean party_check_success = true;
boolean partyCheckSuccess = true;
if (!Config.BYPASS_FRINTEZZA_PARTIES_CHECK)
{
if ((!player.isInParty() || !player.getParty().isLeader(player)) || (player.getParty().getCommandChannel() == null) || (player.getParty().getCommandChannel().getChannelLeader() != player))
{
htmltext = "<html><body>No reaction. Contact must be initiated by the Command Channel Leader.</body></html>";
party_check_success = false;
partyCheckSuccess = false;
}
else if ((player.getParty().getCommandChannel().getParties().size() < Config.FRINTEZZA_MIN_PARTIES) || (player.getParty().getCommandChannel().getParties().size() > Config.FRINTEZZA_MAX_PARTIES))
{
htmltext = "<html><body>Your command channel needs to have at least " + Config.FRINTEZZA_MIN_PARTIES + " parties and a maximum of " + Config.FRINTEZZA_MAX_PARTIES + ".</body></html>";
party_check_success = false;
partyCheckSuccess = false;
}
}
if (party_check_success)
if (partyCheckSuccess)
{
if (player.getInventory().getItemByItemId(8073) == null)
{
@@ -1507,12 +1503,12 @@ public class Frintezza extends Quest
{
if (player.getParty() != null)
{
final CommandChannel CC = player.getParty().getCommandChannel();
final CommandChannel cc = player.getParty().getCommandChannel();
if (CC != null)
{ // teleport all parties into CC
for (Party party : CC.getParties())
if (cc != null)
{
// teleport all parties into CC
for (Party party : cc.getParties())
{
if (party == null)
{
@@ -1602,9 +1598,9 @@ public class Frintezza extends Quest
}
else
{
final CommandChannel CC = player.getParty().getCommandChannel();
final CommandChannel cc = player.getParty().getCommandChannel();
for (Party party : CC.getParties())
for (Party party : cc.getParties())
{
if (party == null)
{
@@ -1696,22 +1692,16 @@ public class Frintezza extends Quest
_onCheck = 1;
startQuestTimer("check_hp", 0, npc, null);
}
else if (((npc.getNpcId() == 29050) || (npc.getNpcId() == 29051)) && (_bomber == 0))
else if (((npc.getNpcId() == 29050) || (npc.getNpcId() == 29051)) && (_bomber == 0) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.1)) && (Rnd.get(100) < 30))
{
if (npc.getCurrentHp() < (npc.getMaxHp() * 0.1))
_bomber = 1;
startQuestTimer("bomber", 3000, npc, null);
final Skill skill = SkillTable.getInstance().getInfo(5011, 1);
if (skill != null)
{
if (Rnd.get(100) < 30)
{
_bomber = 1;
startQuestTimer("bomber", 3000, npc, null);
final Skill skill = SkillTable.getInstance().getInfo(5011, 1);
if (skill != null)
{
// npc.setIsCastingNow(true);
npc.doCast(skill);
}
}
// npc.setIsCastingNow(true);
npc.doCast(skill);
}
}

View File

@@ -39,9 +39,6 @@ public class Gordon extends Quest
private static int _npcMoveY = 0;
private static int _isWalkTo = 0;
private static int _npcBlock = 0;
private static int X = 0;
private static int Y = 0;
private static int Z = 0;
// @formatter:off
private static final int[][] WALKS =
@@ -129,106 +126,113 @@ public class Gordon extends Quest
@Override
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
{
X = WALKS[_isWalkTo - 1][0];
Y = WALKS[_isWalkTo - 1][1];
Z = WALKS[_isWalkTo - 1][2];
if (event.equals("time_isAttacked"))
int x = WALKS[_isWalkTo - 1][0];
int y = WALKS[_isWalkTo - 1][1];
int z = WALKS[_isWalkTo - 1][2];
switch (event)
{
_isAttacked = false;
if (npc.getNpcId() == GORDON)
case "time_isAttacked":
{
npc.setWalking();
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(X, Y, Z, 0));
}
}
else if (event.equals("check_ai"))
{
cancelQuestTimer("check_ai", null, null);
if (!_isSpawned)
{
final NpcInstance gordon_ai = findTemplate(GORDON);
if (gordon_ai != null)
{
_isSpawned = true;
startQuestTimer("Start", 1000, gordon_ai, null, true);
return super.onAdvEvent(event, npc, player);
}
}
}
else if (event.equals("Start"))
{
// startQuestTimer("Start", 1000, npc, null);
if ((npc != null) && _isSpawned)
{
// check if player have Cursed Weapon and in radius
_isAttacked = false;
if (npc.getNpcId() == GORDON)
{
final Collection<PlayerInstance> chars = npc.getKnownList().getKnownPlayers().values();
if ((chars != null) && (chars.size() > 0))
npc.setWalking();
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(x, y, z, 0));
}
break;
}
case "check_ai":
{
cancelQuestTimer("check_ai", null, null);
if (!_isSpawned)
{
final NpcInstance gordon = findTemplate(GORDON);
if (gordon != null)
{
for (PlayerInstance pc : chars)
_isSpawned = true;
startQuestTimer("Start", 1000, gordon, null, true);
return super.onAdvEvent(event, npc, player);
}
}
break;
}
case "Start":
{
// startQuestTimer("Start", 1000, npc, null);
if ((npc != null) && _isSpawned)
{
// check if player have Cursed Weapon and in radius
if (npc.getNpcId() == GORDON)
{
final Collection<PlayerInstance> chars = npc.getKnownList().getKnownPlayers().values();
if ((chars != null) && !chars.isEmpty())
{
if (pc.isCursedWeaponEquipped() && pc.isInsideRadius(npc, 5000, false, false))
for (PlayerInstance pc : chars)
{
npc.setRunning();
((Attackable) npc).addDamageHate(pc, 0, 9999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, pc);
_isAttacked = true;
cancelQuestTimer("time_isAttacked", null, null);
startQuestTimer("time_isAttacked", 180000, npc, null);
return super.onAdvEvent(event, npc, player);
if (pc.isCursedWeaponEquipped() && pc.isInsideRadius(npc, 5000, false, false))
{
npc.setRunning();
((Attackable) npc).addDamageHate(pc, 0, 9999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, pc);
_isAttacked = true;
cancelQuestTimer("time_isAttacked", null, null);
startQuestTimer("time_isAttacked", 180000, npc, null);
return super.onAdvEvent(event, npc, player);
}
}
}
}
}
// end check
if (_isAttacked)
{
return super.onAdvEvent(event, npc, player);
}
if ((npc.getNpcId() == GORDON) && ((npc.getX() - 50) <= X) && ((npc.getX() + 50) >= X) && ((npc.getY() - 50) <= Y) && ((npc.getY() + 50) >= Y))
{
_isWalkTo++;
if (_isWalkTo > 55)
// end check
if (_isAttacked)
{
_isWalkTo = 1;
}
X = WALKS[_isWalkTo - 1][0];
Y = WALKS[_isWalkTo - 1][1];
Z = WALKS[_isWalkTo - 1][2];
npc.setWalking();
// TODO: find better way to prevent teleporting to the home location
npc.getSpawn().setX(X);
npc.getSpawn().setY(Y);
npc.getSpawn().setZ(Z);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(X, Y, Z, 0));
}
// Test for unblock Npc
if ((npc.getX() != _npcMoveX) && (npc.getY() != _npcMoveY))
{
_npcMoveX = npc.getX();
_npcMoveY = npc.getY();
_npcBlock = 0;
}
else if (npc.getNpcId() == GORDON)
{
_npcBlock++;
if (_npcBlock > 2)
{
npc.teleToLocation(X, Y, Z);
return super.onAdvEvent(event, npc, player);
}
if (_npcBlock > 0)
if ((npc.getNpcId() == GORDON) && ((npc.getX() - 50) <= x) && ((npc.getX() + 50) >= x) && ((npc.getY() - 50) <= y) && ((npc.getY() + 50) >= y))
{
_isWalkTo++;
if (_isWalkTo > 55)
{
_isWalkTo = 1;
}
x = WALKS[_isWalkTo - 1][0];
y = WALKS[_isWalkTo - 1][1];
z = WALKS[_isWalkTo - 1][2];
npc.setWalking();
// TODO: find better way to prevent teleporting to the home location
npc.getSpawn().setX(X);
npc.getSpawn().setY(Y);
npc.getSpawn().setZ(Z);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(X, Y, Z, 0));
npc.getSpawn().setX(x);
npc.getSpawn().setY(y);
npc.getSpawn().setZ(z);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(x, y, z, 0));
}
// Test for unblock Npc
if ((npc.getX() != _npcMoveX) && (npc.getY() != _npcMoveY))
{
_npcMoveX = npc.getX();
_npcMoveY = npc.getY();
_npcBlock = 0;
}
else if (npc.getNpcId() == GORDON)
{
_npcBlock++;
if (_npcBlock > 2)
{
npc.teleToLocation(x, y, z);
return super.onAdvEvent(event, npc, player);
}
if (_npcBlock > 0)
{
// TODO: find better way to prevent teleporting to the home location
npc.getSpawn().setX(x);
npc.getSpawn().setY(y);
npc.getSpawn().setZ(z);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(x, y, z, 0));
}
}
// End Test unblock Npc
}
// End Test unblock Npc
break;
}
}
return super.onAdvEvent(event, npc, player);

View File

@@ -71,11 +71,7 @@ public class Orfen extends Quest
}
else
{
final int loc_x = 55024;
final int loc_y = 17368;
final int loc_z = -5412;
final int heading = 0;
_orfen = (GrandBossInstance) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0);
_orfen = (GrandBossInstance) addSpawn(ORFEN, 55024, 17368, -5412, 0, false, 0);
if (Config.ANNOUNCE_TO_ALL_SPAWN_RB)
{
Announcements.getInstance().announceToAll("Raid boss " + _orfen.getName() + " spawned in world.");
@@ -126,9 +122,9 @@ public class Orfen extends Quest
@Override
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
{
final Event event_enum = Event.valueOf(event.toUpperCase());
final Event eventEnum = Event.valueOf(event.toUpperCase());
switch (event_enum)
switch (eventEnum)
{
case ORFEN_SPAWN:
{
@@ -152,13 +148,13 @@ public class Orfen extends Quest
cancelQuestTimer("ORFEN_REFRESH", npc, null);
break;
}
double saved_hp = -1;
double hp = -1;
if ((npc.getNpcId() == ORFEN) && !npc.getSpawn().is_customBossInstance())
{
saved_hp = GrandBossManager.getInstance().getStatsSet(ORFEN).getDouble("currentHP");
if (saved_hp < npc.getCurrentHp())
hp = GrandBossManager.getInstance().getStatsSet(ORFEN).getDouble("currentHP");
if (hp < npc.getCurrentHp())
{
npc.setCurrentHp(saved_hp);
npc.setCurrentHp(hp);
GrandBossManager.getInstance().getStatsSet(ORFEN).set("currentHP", npc.getMaxHp());
}
}

View File

@@ -165,9 +165,9 @@ public class QueenAnt extends Quest
@Override
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
{
final Event event_enum = Event.valueOf(event);
final Event eventEnum = Event.valueOf(event);
switch (event_enum)
switch (eventEnum)
{
case QUEEN_SPAWN:
{
@@ -179,13 +179,13 @@ public class QueenAnt extends Quest
GrandBossManager.getInstance().setBossStatus(QUEEN, LIVE);
GrandBossManager.getInstance().addBoss(queen);
spawnBoss(queen);
}
break;
}
case LARVA_DESPAWN:
{
_larva.decayMe();
}
break;
}
case NURSES_SPAWN:
{
final int radius = 400;
@@ -196,8 +196,8 @@ public class QueenAnt extends Quest
_nurses.add((MonsterInstance) addSpawn(NURSE, npc.getX() + x, npc.getY() + y, npc.getZ(), 0, false, 0));
_nurses.get(i).setIsAttackDisabled(true);
}
}
break;
}
case SPAWN_ROYAL:
{
final int radius = 400;
@@ -207,17 +207,18 @@ public class QueenAnt extends Quest
final int y = (int) (radius * Math.sin(i * .7854));
_minions.add((MonsterInstance) addSpawn(ROYAL, npc.getX() + x, npc.getY() + y, npc.getZ(), 0, false, 0));
}
}
break;
}
case RESPAWN_ROYAL:
{
_minions.add((MonsterInstance) addSpawn(ROYAL, npc.getX(), npc.getY(), npc.getZ(), 0, true, 0));
break;
}
case RESPAWN_NURSE:
{
_nurses.add((MonsterInstance) addSpawn(NURSE, npc.getX(), npc.getY(), npc.getZ(), 0, true, 0));
}
break;
}
case DESPAWN_MINIONS:
{
for (int i = 0; i < _minions.size(); i++)
@@ -230,16 +231,16 @@ public class QueenAnt extends Quest
}
for (int k = 0; k < _nurses.size(); k++)
{
final MonsterInstance _nurse = _nurses.get(k);
if (_nurse != null)
final MonsterInstance nurse = _nurses.get(k);
if (nurse != null)
{
_nurse.decayMe();
nurse.decayMe();
}
}
_nurses.clear();
_minions.clear();
}
break;
}
case CHECK_MINIONS_ZONE:
{
for (int i = 0; i < _minions.size(); i++)
@@ -250,8 +251,8 @@ public class QueenAnt extends Quest
mob.teleToLocation(npc.getX(), npc.getY(), npc.getZ());
}
}
}
break;
}
case CHECK_NURSE_ALIVE:
{
int deadNurses = 0;
@@ -266,11 +267,8 @@ public class QueenAnt extends Quest
{
startQuestTimer("RESPAWN_NURSE", Config.QA_RESP_NURSE * 1000, npc, null);
}
}
break;
/*
* case CHECK_QA_ZONE:{ int loc_x = -21610; int loc_y = 181594; int loc_z = -5734; if(!npc.isInsideRadius(loc_x,loc_y,3000,false)){ npc.teleToLocation(loc_x, loc_y, loc_z); } startQuestTimer("CHECK_MINIONS_ZONE", 1000, npc, null); } break;
*/
}
case ACTION:
{
if (Rnd.get(3) == 0)
@@ -284,12 +282,8 @@ public class QueenAnt extends Quest
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 4));
}
}
/*
* if(Math.abs(npc.getX() + 21610) > 1000 || Math.abs(npc.getY() - 181594) > 2500) { ((Attackable) npc).clearAggroList(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); npc.teleToLocation(-21610, 181594, -5740); }
*/
// startQuestTimer("ACTION", 10000, npc, null);
}
break;
}
case HEAL:
{
boolean notCasting;
@@ -325,16 +319,13 @@ public class QueenAnt extends Quest
}
continue;
}
if (nurseNeedHeal)
if (nurseNeedHeal && ((nurse.getTarget() != nurse) || notCasting))
{
if ((nurse.getTarget() != nurse) || notCasting)
for (int k = 0; k < _nurses.size(); k++)
{
for (int k = 0; k < _nurses.size(); k++)
{
getIntoPosition(_nurses.get(k), nurse);
_nurses.get(k).setTarget(nurse);
_nurses.get(k).doCast(SkillTable.getInstance().getInfo(4020, 1));
}
getIntoPosition(_nurses.get(k), nurse);
_nurses.get(k).setTarget(nurse);
_nurses.get(k).doCast(SkillTable.getInstance().getInfo(4020, 1));
}
}
if (notCasting && (nurse.getTarget() != null))
@@ -342,8 +333,8 @@ public class QueenAnt extends Quest
nurse.setTarget(null);
}
}
}
break;
}
default:
{
LOGGER.info("QUEEN: Not defined event: " + event + "!");
@@ -397,28 +388,25 @@ public class QueenAnt extends Quest
startQuestTimer("DESPAWN_MINIONS", 10000, null, null);
}
else if (status == LIVE)
else if ((status == LIVE) && ((npcId == ROYAL) || (npcId == NURSE)))
{
if ((npcId == ROYAL) || (npcId == NURSE))
npc.decayMe();
if (_minions.contains(npc))
{
npc.decayMe();
if (_minions.contains(npc))
{
_minions.remove(npc);
}
else
{
_nurses.remove(npc);
}
if (npcId == ROYAL)
{
startQuestTimer("RESPAWN_ROYAL", (Config.QA_RESP_ROYAL + Rnd.get(40)) * 1000, npc, null);
}
else if (npcId == NURSE)
{
startQuestTimer("CHECK_NURSE_ALIVE", 1000, npc, null);
}
_minions.remove(npc);
}
else
{
_nurses.remove(npc);
}
if (npcId == ROYAL)
{
startQuestTimer("RESPAWN_ROYAL", (Config.QA_RESP_ROYAL + Rnd.get(40)) * 1000, npc, null);
}
else // if (npcId == NURSE)
{
startQuestTimer("CHECK_NURSE_ALIVE", 1000, npc, null);
}
}
return super.onKill(npc, killer, isPet);

View File

@@ -36,7 +36,7 @@ public class Tyrannosaurus extends Quest
22217, // Tyrannosaurus
};
// Locations
private final static Location[] SPAWNS =
private static final Location[] SPAWNS =
{
new Location(19506, -15772, -3080, 49220),
new Location(22253, -17062, -2976, 47449),
@@ -61,10 +61,7 @@ public class Tyrannosaurus extends Quest
@Override
public String onKill(NpcInstance npc, PlayerInstance killer, boolean isPet)
{
ThreadPool.schedule(() ->
{
addSpawn(TREX[Rnd.get(TREX.length)], SPAWNS[Rnd.get(SPAWNS.length)], false, 0);
}, 1800000);
ThreadPool.schedule(() -> addSpawn(TREX[Rnd.get(TREX.length)], SPAWNS[Rnd.get(SPAWNS.length)], false, 0), 1800000);
return super.onKill(npc, killer, isPet);
}

View File

@@ -126,14 +126,12 @@ public class Valakas extends Quest
final int mp = info.getInt("currentMP");
final GrandBossInstance valakas = (GrandBossInstance) addSpawn(VALAKAS, loc_x, loc_y, loc_z, heading, false, 0);
GrandBossManager.getInstance().addBoss(valakas);
final NpcInstance _valakas = valakas;
ThreadPool.schedule(() ->
{
try
{
_valakas.setCurrentHpMp(hp, mp);
_valakas.setRunning();
valakas.setCurrentHpMp(hp, mp);
valakas.setRunning();
}
catch (Throwable e)
{
@@ -161,7 +159,7 @@ public class Valakas extends Quest
if (event.equals("check_activity_and_do_actions"))
{
int lvl = 0;
int sk_4691 = 0;
int sk4691 = 0;
final Effect[] effects = npc.getAllEffects();
if ((effects != null) && (effects.length != 0))
{
@@ -169,7 +167,7 @@ public class Valakas extends Quest
{
if (e.getSkill().getId() == 4629)
{
sk_4691 = 1;
sk4691 = 1;
lvl = e.getSkill().getLevel();
break;
}
@@ -186,8 +184,8 @@ public class Valakas extends Quest
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
// delete the actual boss
final GrandBossInstance _boss_instance = GrandBossManager.getInstance().deleteBoss(VALAKAS);
_boss_instance.decayMe();
final GrandBossInstance boss = GrandBossManager.getInstance().deleteBoss(VALAKAS);
boss.decayMe();
GrandBossManager.getInstance().setBossStatus(VALAKAS, DORMANT);
// npc.setCurrentHpMp(npc.getMaxHp(), npc.getMaxMp());
_Zone.oustAllPlayers();
@@ -198,7 +196,7 @@ public class Valakas extends Quest
}
else if (npc.getCurrentHp() > ((npc.getMaxHp() * 1) / 4))
{
if ((sk_4691 == 0) || ((sk_4691 == 1) && (lvl != 4)))
if ((sk4691 == 0) || ((sk4691 == 1) && (lvl != 4)))
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691, 4));
@@ -206,7 +204,7 @@ public class Valakas extends Quest
}
else if (npc.getCurrentHp() > ((npc.getMaxHp() * 2) / 4.0))
{
if ((sk_4691 == 0) || ((sk_4691 == 1) && (lvl != 3)))
if ((sk4691 == 0) || ((sk4691 == 1) && (lvl != 3)))
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691, 3));
@@ -214,13 +212,13 @@ public class Valakas extends Quest
}
else if (npc.getCurrentHp() > ((npc.getMaxHp() * 3) / 4.0))
{
if ((sk_4691 == 0) || ((sk_4691 == 1) && (lvl != 2)))
if ((sk4691 == 0) || ((sk4691 == 1) && (lvl != 2)))
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691, 2));
}
}
else if ((sk_4691 == 0) || ((sk_4691 == 1) && (lvl != 1)))
else if ((sk4691 == 0) || ((sk4691 == 1) && (lvl != 1)))
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4691, 1));
@@ -349,12 +347,11 @@ public class Valakas extends Quest
GrandBossManager.getInstance().addBoss(valakas);
lastAttackTime = System.currentTimeMillis();
final NpcInstance _valakas = valakas;
ThreadPool.schedule(() ->
{
try
{
broadcastSpawn(_valakas);
broadcastSpawn(valakas);
}
catch (Throwable e)
{
@@ -388,7 +385,7 @@ public class Valakas extends Quest
*/
if (attacker.getMountType() == 1)
{
int sk_4258 = 0;
int sk4258 = 0;
final Effect[] effects = attacker.getAllEffects();
if ((effects != null) && (effects.length != 0))
{
@@ -396,11 +393,11 @@ public class Valakas extends Quest
{
if (e.getSkill().getId() == 4258)
{
sk_4258 = 1;
sk4258 = 1;
}
}
}
if (sk_4258 == 0)
if (sk4258 == 0)
{
npc.setTarget(attacker);
npc.doCast(SkillTable.getInstance().getInfo(4258, 1));
@@ -424,19 +421,13 @@ public class Valakas extends Quest
{
i_ai0 = (i_ai0 + damage);
}
if (i_quest0 == 0)
if ((i_quest0 == 0) && (((i_ai4 / npc.getMaxHp()) * 100) > 1) && (i_ai3 > (i_ai4 - i_ai3)))
{
if ((((i_ai4 / npc.getMaxHp()) * 100)) > 1)
{
if (i_ai3 > (i_ai4 - i_ai3))
{
i_ai3 = 0;
i_ai4 = 0;
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4687, 1));
i_quest0 = 1;
}
}
i_ai3 = 0;
i_ai4 = 0;
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4687, 1));
i_quest0 = 1;
}
}
int i1 = 0;
@@ -974,21 +965,14 @@ public class Valakas extends Quest
public void broadcastSpawn(NpcInstance npc)
{
final Collection<WorldObject> objs = npc.getKnownList().getKnownObjects().values();
for (WorldObject obj : npc.getKnownList().getKnownObjects().values())
{
for (WorldObject obj : objs)
if ((obj instanceof PlayerInstance) && Util.checkIfInRange(10000, npc, obj, true))
{
if (obj instanceof PlayerInstance)
{
if (Util.checkIfInRange(10000, npc, obj, true))
{
((Creature) obj).sendPacket(new PlaySound(1, "B03_A", 1, npc.getObjectId(), 212852, -114842, -1632));
((Creature) obj).sendPacket(new SocialAction(npc.getObjectId(), 3));
}
}
((Creature) obj).sendPacket(new PlaySound(1, "B03_A", 1, npc.getObjectId(), 212852, -114842, -1632));
((Creature) obj).sendPacket(new SocialAction(npc.getObjectId(), 3));
}
}
return;
}
public Creature getRandomTarget(NpcInstance npc)
@@ -998,16 +982,13 @@ public class Valakas extends Quest
{
for (WorldObject obj : objs)
{
if ((obj instanceof PlayerInstance) || (obj instanceof Summon))
if (((obj instanceof PlayerInstance) || (obj instanceof Summon)) && Util.checkIfInRange(5000, npc, obj, true) && !((Creature) obj).isDead() && (obj instanceof PlayerInstance) && !((PlayerInstance) obj).isGM())
{
if (Util.checkIfInRange(5000, npc, obj, true) && !((Creature) obj).isDead() && (obj instanceof PlayerInstance) && !((PlayerInstance) obj).isGM())
{
result.add((Creature) obj);
}
result.add((Creature) obj);
}
}
}
if (!result.isEmpty() && (result.size() != 0))
if (!result.isEmpty())
{
final Object[] characters = result.toArray();
return (Creature) characters[Rnd.get(characters.length)];

View File

@@ -260,12 +260,9 @@ public class VanHalter extends Quest
@Override
public String onAttack(NpcInstance npc, PlayerInstance attacker, int damage, boolean isPet)
{
if (npc.getNpcId() == 29062)
if ((npc.getNpcId() == 29062) && (((int) (npc.getStatus().getCurrentHp() / npc.getMaxHp()) * 100) <= 20))
{
if (((int) (npc.getStatus().getCurrentHp() / npc.getMaxHp()) * 100) <= 20)
{
callRoyalGuardHelper();
}
callRoyalGuardHelper();
}
return super.onAttack(npc, attacker, damage, isPet);
}
@@ -853,18 +850,6 @@ public class VanHalter extends Quest
_cameraMarker.clear();
}
// Door control.
/**
* @param intruder
*/
public void intruderDetection(PlayerInstance intruder)
{
if ((_lockUpDoorOfAltarTask == null) && !_isLocked && _isCaptainSpawned)
{
_lockUpDoorOfAltarTask = ThreadPool.schedule(new LockUpDoorOfAltar(), Config.HPH_TIMEOFLOCKUPDOOROFALTAR);
}
}
protected class LockUpDoorOfAltar implements Runnable
{
@Override
@@ -1042,16 +1027,16 @@ public class VanHalter extends Quest
}
_timeUpTask = ThreadPool.schedule(new TimeUp(), Config.HPH_FIGHTTIMEOFHALTER);
final Map<Integer, PlayerInstance> _targets = new HashMap<>();
final Map<Integer, PlayerInstance> targets = new HashMap<>();
int i = 0;
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
i++;
_targets.put(i, pc);
targets.put(i, pc);
}
_vanHalter.reduceCurrentHp(1, _targets.get(Rnd.get(1, i)));
_vanHalter.reduceCurrentHp(1, targets.get(Rnd.get(1, i)));
}
// Call Royal Guard Helper and escape from player.
@@ -1414,7 +1399,8 @@ public class VanHalter extends Quest
// Appearance movie.
private class Movie implements Runnable
{
private final int _distance = 6502500;
private static final int DISTANCE = 6502500;
private final int _taskId;
public Movie(int taskId)
@@ -1436,7 +1422,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_vanHalter) <= _distance)
if (pc.getPlanDistanceSq(_vanHalter) <= DISTANCE)
{
_vanHalter.broadcastPacket(new SpecialCamera(_vanHalter.getObjectId(), 50, 90, 0, 0, 15000));
}
@@ -1455,7 +1441,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(5)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(5)) <= DISTANCE)
{
_cameraMarker.get(5).broadcastPacket(new SpecialCamera(_cameraMarker.get(5).getObjectId(), 1842, 100, -3, 0, 15000));
}
@@ -1474,7 +1460,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(5)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(5)) <= DISTANCE)
{
_cameraMarker.get(5).broadcastPacket(new SpecialCamera(_cameraMarker.get(5).getObjectId(), 1861, 97, -10, 1500, 15000));
}
@@ -1493,7 +1479,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(4)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(4)) <= DISTANCE)
{
_cameraMarker.get(4).broadcastPacket(new SpecialCamera(_cameraMarker.get(4).getObjectId(), 1876, 97, 12, 0, 15000));
}
@@ -1512,7 +1498,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(4)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(4)) <= DISTANCE)
{
_cameraMarker.get(4).broadcastPacket(new SpecialCamera(_cameraMarker.get(4).getObjectId(), 1839, 94, 0, 1500, 15000));
}
@@ -1531,7 +1517,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(3)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(3)) <= DISTANCE)
{
_cameraMarker.get(3).broadcastPacket(new SpecialCamera(_cameraMarker.get(3).getObjectId(), 1872, 94, 15, 0, 15000));
}
@@ -1550,7 +1536,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(3)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(3)) <= DISTANCE)
{
_cameraMarker.get(3).broadcastPacket(new SpecialCamera(_cameraMarker.get(3).getObjectId(), 1839, 92, 0, 1500, 15000));
}
@@ -1569,7 +1555,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(2)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(2)) <= DISTANCE)
{
_cameraMarker.get(2).broadcastPacket(new SpecialCamera(_cameraMarker.get(2).getObjectId(), 1872, 92, 15, 0, 15000));
}
@@ -1588,7 +1574,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(2)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(2)) <= DISTANCE)
{
_cameraMarker.get(2).broadcastPacket(new SpecialCamera(_cameraMarker.get(2).getObjectId(), 1839, 90, 5, 1500, 15000));
}
@@ -1607,7 +1593,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(1)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(1)) <= DISTANCE)
{
_cameraMarker.get(1).broadcastPacket(new SpecialCamera(_cameraMarker.get(1).getObjectId(), 1872, 90, 5, 0, 15000));
}
@@ -1626,7 +1612,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_cameraMarker.get(1)) <= _distance)
if (pc.getPlanDistanceSq(_cameraMarker.get(1)) <= DISTANCE)
{
_cameraMarker.get(1).broadcastPacket(new SpecialCamera(_cameraMarker.get(1).getObjectId(), 2002, 90, 2, 1500, 15000));
}
@@ -1645,7 +1631,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_vanHalter) <= _distance)
if (pc.getPlanDistanceSq(_vanHalter) <= DISTANCE)
{
_vanHalter.broadcastPacket(new SpecialCamera(_vanHalter.getObjectId(), 50, 90, 10, 0, 15000));
}
@@ -1697,7 +1683,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_vanHalter) <= _distance)
if (pc.getPlanDistanceSq(_vanHalter) <= DISTANCE)
{
_vanHalter.broadcastPacket(new SpecialCamera(_vanHalter.getObjectId(), 100, 90, 15, 1500, 15000));
}
@@ -1716,7 +1702,7 @@ public class VanHalter extends Quest
// Set camera.
for (PlayerInstance pc : _vanHalter.getKnownList().getKnownPlayers().values())
{
if (pc.getPlanDistanceSq(_vanHalter) <= _distance)
if (pc.getPlanDistanceSq(_vanHalter) <= DISTANCE)
{
_vanHalter.broadcastPacket(new SpecialCamera(_vanHalter.getObjectId(), 5200, 90, -10, 9500, 6000));
}

View File

@@ -45,26 +45,12 @@ public class Zaken extends Quest
{
protected static final Logger LOGGER = Logger.getLogger(Zaken.class.getName());
private int _1001 = 0; // used for first cancel of QuestTimer "1001"
private int _ai0 = 0; // used for zaken coords updater
private int _ai1 = 0; // used for X coord tracking for non-random teleporting in zaken's self teleport skill
private int _ai2 = 0; // used for Y coord tracking for non-random teleporting in zaken's self teleport skill
private int _ai3 = 0; // used for Z coord tracking for non-random teleporting in zaken's self teleport skill
private int _ai4 = 0; // used for spawning minions cycles
private int _quest0 = 0; // used for teleporting progress
private int _quest1 = 0; // used for most hated players progress
private int _quest2 = 0; // used for zaken HP check for teleport
private PlayerInstance c_quest0 = null; // 1st player used for area teleport
private PlayerInstance c_quest1 = null; // 2nd player used for area teleport
private PlayerInstance c_quest2 = null; // 3rd player used for area teleport
private PlayerInstance c_quest3 = null; // 4th player used for area teleport
private PlayerInstance c_quest4 = null; // 5th player used for area teleport
private static final int ZAKEN = 29022;
private static final int doll_blader_b = 29023;
private static final int vale_master_b = 29024;
private static final int pirates_zombie_captain_b = 29026;
private static final int pirates_zombie_b = 29027;
private static final int[] Xcoords =
private static final int DOLL_BLADER_B = 29023;
private static final int VALE_MASTER_B = 29024;
private static final int PIRATES_ZOMBIE_CAPTAIN_B = 29026;
private static final int PIRATES_ZOMBIE_B = 29027;
private static final int[] X_COORDS =
{
53950,
55980,
@@ -82,7 +68,7 @@ public class Zaken extends Quest
53950,
53930
};
private static final int[] Ycoords =
private static final int[] Y_COORDS =
{
219860,
219820,
@@ -100,7 +86,7 @@ public class Zaken extends Quest
219860,
217760
};
private static final int[] Zcoords =
private static final int[] Z_COORDS =
{
-3488,
-3488,
@@ -118,12 +104,25 @@ public class Zaken extends Quest
-2944,
-2944
};
// ZAKEN Status Tracking :
// Zaken status tracking
private static final byte ALIVE = 0; // Zaken is spawned.
private static final byte DEAD = 1; // Zaken has been killed.
// Misc
private static BossZone _Zone;
private int _1001 = 0; // used for first cancel of QuestTimer "1001"
private int _ai0 = 0; // used for zaken coords updater
private int _ai1 = 0; // used for X coord tracking for non-random teleporting in zaken's self teleport skill
private int _ai2 = 0; // used for Y coord tracking for non-random teleporting in zaken's self teleport skill
private int _ai3 = 0; // used for Z coord tracking for non-random teleporting in zaken's self teleport skill
private int _ai4 = 0; // used for spawning minions cycles
private int _quest0 = 0; // used for teleporting progress
private int _quest1 = 0; // used for most hated players progress
private int _quest2 = 0; // used for zaken HP check for teleport
private PlayerInstance c_quest0 = null; // 1st player used for area teleport
private PlayerInstance c_quest1 = null; // 2nd player used for area teleport
private PlayerInstance c_quest2 = null; // 3rd player used for area teleport
private PlayerInstance c_quest3 = null; // 4th player used for area teleport
private PlayerInstance c_quest4 = null; // 5th player used for area teleport
public Zaken()
{
@@ -245,8 +244,8 @@ public class Zaken extends Quest
_1001 = 0;
cancelQuestTimer("1001", npc, null);
}
int sk_4223 = 0;
int sk_4227 = 0;
int sk4223 = 0;
int sk4227 = 0;
final Effect[] effects = npc.getAllEffects();
if ((effects != null) && (effects.length != 0))
{
@@ -254,17 +253,17 @@ public class Zaken extends Quest
{
if (e.getSkill().getId() == 4227)
{
sk_4227 = 1;
sk4227 = 1;
}
if (e.getSkill().getId() == 4223)
{
sk_4223 = 1;
sk4223 = 1;
}
}
}
if (getTimeHour() < 5)
{
if (sk_4223 == 1) // use night face if zaken have day face
if (sk4223 == 1) // use night face if zaken have day face
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4224, 1));
@@ -272,7 +271,7 @@ public class Zaken extends Quest
_ai2 = npc.getY();
_ai3 = npc.getZ();
}
if (sk_4227 == 0) // use zaken regeneration
if (sk4227 == 0) // use zaken regeneration
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4227, 1));
@@ -394,9 +393,9 @@ public class Zaken extends Quest
{
_quest0 = 0;
final int i2 = Rnd.get(15);
_ai1 = Xcoords[i2] + Rnd.get(650);
_ai2 = Ycoords[i2] + Rnd.get(650);
_ai3 = Zcoords[i2];
_ai1 = X_COORDS[i2] + Rnd.get(650);
_ai2 = Y_COORDS[i2] + Rnd.get(650);
_ai3 = Z_COORDS[i2];
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4222, 1));
}
@@ -408,28 +407,25 @@ public class Zaken extends Quest
_ai2 = npc.getY();
_ai3 = npc.getZ();
}
Creature c_ai0 = null;
Creature cAi0 = null;
if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 == 0))
{
if (((Attackable) npc).getMostHated() != null)
{
c_ai0 = ((Attackable) npc).getMostHated();
cAi0 = ((Attackable) npc).getMostHated();
_quest1 = 1;
}
}
else if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 != 0))
else if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 != 0) && (((Attackable) npc).getMostHated() != null))
{
if (((Attackable) npc).getMostHated() != null)
if (cAi0 == ((Attackable) npc).getMostHated())
{
if (c_ai0 == ((Attackable) npc).getMostHated())
{
_quest1 = (_quest1 + 1);
}
else
{
_quest1 = 1;
c_ai0 = ((Attackable) npc).getMostHated();
}
_quest1 = (_quest1 + 1);
}
else
{
_quest1 = 1;
cAi0 = ((Attackable) npc).getMostHated();
}
}
if (npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE)
@@ -438,7 +434,7 @@ public class Zaken extends Quest
}
if (_quest1 > 5)
{
((Attackable) npc).stopHating(c_ai0);
((Attackable) npc).stopHating(cAi0);
final Creature nextTarget = ((Attackable) npc).getMostHated();
if (nextTarget != null)
{
@@ -447,13 +443,13 @@ public class Zaken extends Quest
_quest1 = 0;
}
}
else if (sk_4223 == 0) // use day face if not night time
else if (sk4223 == 0) // use day face if not night time
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4223, 1));
_quest2 = 3;
}
if (sk_4227 == 1) // when switching to day time, cancel zaken night regen
if (sk4227 == 1) // when switching to day time, cancel zaken night regen
{
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4242, 1));
@@ -461,9 +457,9 @@ public class Zaken extends Quest
if (Rnd.get(40) < 1)
{
final int i2 = Rnd.get(15);
_ai1 = Xcoords[i2] + Rnd.get(650);
_ai2 = Ycoords[i2] + Rnd.get(650);
_ai3 = Zcoords[i2];
_ai1 = X_COORDS[i2] + Rnd.get(650);
_ai2 = Y_COORDS[i2] + Rnd.get(650);
_ai3 = Z_COORDS[i2];
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4222, 1));
}
@@ -480,125 +476,125 @@ public class Zaken extends Quest
if (_ai4 == 1)
{
final int rr = Rnd.get(15);
addSpawn(pirates_zombie_captain_b, Xcoords[rr] + Rnd.get(650), Ycoords[rr] + Rnd.get(650), Zcoords[rr], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, X_COORDS[rr] + Rnd.get(650), Y_COORDS[rr] + Rnd.get(650), Z_COORDS[rr], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
_ai4 = 2;
}
else if (_ai4 == 2)
{
final int rr = Rnd.get(15);
addSpawn(doll_blader_b, Xcoords[rr] + Rnd.get(650), Ycoords[rr] + Rnd.get(650), Zcoords[rr], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, X_COORDS[rr] + Rnd.get(650), Y_COORDS[rr] + Rnd.get(650), Z_COORDS[rr], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
_ai4 = 3;
}
else if (_ai4 == 3)
{
addSpawn(vale_master_b, Xcoords[Rnd.get(15)] + Rnd.get(650), Ycoords[Rnd.get(15)] + Rnd.get(650), Zcoords[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, Xcoords[Rnd.get(15)] + Rnd.get(650), Ycoords[Rnd.get(15)] + Rnd.get(650), Zcoords[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, X_COORDS[Rnd.get(15)] + Rnd.get(650), Y_COORDS[Rnd.get(15)] + Rnd.get(650), Z_COORDS[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, X_COORDS[Rnd.get(15)] + Rnd.get(650), Y_COORDS[Rnd.get(15)] + Rnd.get(650), Z_COORDS[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
_ai4 = 4;
}
else if (_ai4 == 4)
{
addSpawn(pirates_zombie_b, Xcoords[Rnd.get(15)] + Rnd.get(650), Ycoords[Rnd.get(15)] + Rnd.get(650), Zcoords[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, Xcoords[Rnd.get(15)] + Rnd.get(650), Ycoords[Rnd.get(15)] + Rnd.get(650), Zcoords[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, Xcoords[Rnd.get(15)] + Rnd.get(650), Ycoords[Rnd.get(15)] + Rnd.get(650), Zcoords[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, Xcoords[Rnd.get(15)] + Rnd.get(650), Ycoords[Rnd.get(15)] + Rnd.get(650), Zcoords[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, Xcoords[Rnd.get(15)] + Rnd.get(650), Ycoords[Rnd.get(15)] + Rnd.get(650), Zcoords[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, X_COORDS[Rnd.get(15)] + Rnd.get(650), Y_COORDS[Rnd.get(15)] + Rnd.get(650), Z_COORDS[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, X_COORDS[Rnd.get(15)] + Rnd.get(650), Y_COORDS[Rnd.get(15)] + Rnd.get(650), Z_COORDS[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, X_COORDS[Rnd.get(15)] + Rnd.get(650), Y_COORDS[Rnd.get(15)] + Rnd.get(650), Z_COORDS[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, X_COORDS[Rnd.get(15)] + Rnd.get(650), Y_COORDS[Rnd.get(15)] + Rnd.get(650), Z_COORDS[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, X_COORDS[Rnd.get(15)] + Rnd.get(650), Y_COORDS[Rnd.get(15)] + Rnd.get(650), Z_COORDS[Rnd.get(15)], Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
_ai4 = 5;
}
else if (_ai4 == 5)
{
addSpawn(doll_blader_b, 52675, 219371, -3290, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 52687, 219596, -3368, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 52672, 219740, -3418, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 52857, 219992, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 52959, 219997, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 53381, 220151, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 54236, 220948, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54885, 220144, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55264, 219860, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 55399, 220263, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55679, 220129, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 56276, 220783, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 57173, 220234, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 56267, 218826, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 56294, 219482, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 56094, 219113, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 56364, 218967, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 57113, 218079, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 56186, 217153, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55440, 218081, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 55202, 217940, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55225, 218236, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54973, 218075, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 53412, 218077, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54226, 218797, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54394, 219067, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54139, 219253, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 54262, 219480, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 52675, 219371, -3290, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 52687, 219596, -3368, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 52672, 219740, -3418, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 52857, 219992, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 52959, 219997, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 53381, 220151, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 54236, 220948, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54885, 220144, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55264, 219860, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 55399, 220263, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55679, 220129, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 56276, 220783, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 57173, 220234, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 56267, 218826, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 56294, 219482, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 56094, 219113, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 56364, 218967, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 57113, 218079, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 56186, 217153, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55440, 218081, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 55202, 217940, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55225, 218236, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54973, 218075, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 53412, 218077, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54226, 218797, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54394, 219067, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54139, 219253, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 54262, 219480, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
_ai4 = 6;
}
else if (_ai4 == 6)
{
addSpawn(pirates_zombie_b, 53412, 218077, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54413, 217132, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 54841, 217132, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 55372, 217128, -3343, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 55893, 217122, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 56282, 217237, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 56963, 218080, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 56267, 218826, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 56294, 219482, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 56094, 219113, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 56364, 218967, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 56276, 220783, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 57173, 220234, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54885, 220144, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55264, 219860, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 55399, 220263, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55679, 220129, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 54236, 220948, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 54464, 219095, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54226, 218797, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54394, 219067, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54139, 219253, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 54262, 219480, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 53412, 218077, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55440, 218081, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 55202, 217940, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55225, 218236, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54973, 218075, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 53412, 218077, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54413, 217132, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 54841, 217132, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 55372, 217128, -3343, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 55893, 217122, -3488, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 56282, 217237, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 56963, 218080, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 56267, 218826, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 56294, 219482, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 56094, 219113, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 56364, 218967, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 56276, 220783, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 57173, 220234, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54885, 220144, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55264, 219860, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 55399, 220263, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55679, 220129, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 54236, 220948, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 54464, 219095, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54226, 218797, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54394, 219067, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54139, 219253, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 54262, 219480, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 53412, 218077, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55440, 218081, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 55202, 217940, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55225, 218236, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54973, 218075, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
_ai4 = 7;
}
else if (_ai4 == 7)
{
addSpawn(pirates_zombie_b, 54228, 217504, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54181, 217168, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 54714, 217123, -3168, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 55298, 217127, -3073, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 55787, 217130, -2993, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 56284, 217216, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 56963, 218080, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 56267, 218826, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 56294, 219482, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 56094, 219113, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 56364, 218967, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 56276, 220783, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 57173, 220234, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54885, 220144, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55264, 219860, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 55399, 220263, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55679, 220129, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 54236, 220948, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 54464, 219095, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54226, 218797, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(vale_master_b, 54394, 219067, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54139, 219253, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(doll_blader_b, 54262, 219480, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 53412, 218077, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 54280, 217200, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55440, 218081, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_captain_b, 55202, 217940, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 55225, 218236, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(pirates_zombie_b, 54973, 218075, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54228, 217504, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54181, 217168, -3216, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 54714, 217123, -3168, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 55298, 217127, -3073, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 55787, 217130, -2993, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 56284, 217216, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 56963, 218080, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 56267, 218826, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 56294, 219482, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 56094, 219113, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 56364, 218967, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 56276, 220783, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 57173, 220234, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54885, 220144, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55264, 219860, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 55399, 220263, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55679, 220129, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 54236, 220948, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 54464, 219095, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54226, 218797, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(VALE_MASTER_B, 54394, 219067, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54139, 219253, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(DOLL_BLADER_B, 54262, 219480, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 53412, 218077, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 54280, 217200, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55440, 218081, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_CAPTAIN_B, 55202, 217940, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 55225, 218236, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
addSpawn(PIRATES_ZOMBIE_B, 54973, 218075, -2944, Rnd.get(65536), false, 0)/* .setIsRaidMinion(true) */;
_ai4 = 8;
cancelQuestTimer("1003", null, null);
}
@@ -655,7 +651,7 @@ public class Zaken extends Quest
else if (skillId == 4216)
{
final int i1 = Rnd.get(15);
player.teleToLocation(Xcoords[i1] + Rnd.get(650), Ycoords[i1] + Rnd.get(650), Zcoords[i1]);
player.teleToLocation(X_COORDS[i1] + Rnd.get(650), Y_COORDS[i1] + Rnd.get(650), Z_COORDS[i1]);
((Attackable) npc).stopHating(player);
final Creature nextTarget = ((Attackable) npc).getMostHated();
if (nextTarget != null)
@@ -667,7 +663,7 @@ public class Zaken extends Quest
{
int i0 = 0;
int i1 = Rnd.get(15);
player.teleToLocation(Xcoords[i1] + Rnd.get(650), Ycoords[i1] + Rnd.get(650), Zcoords[i1]);
player.teleToLocation(X_COORDS[i1] + Rnd.get(650), Y_COORDS[i1] + Rnd.get(650), Z_COORDS[i1]);
((Attackable) npc).stopHating(player);
if ((c_quest0 != null) && (_quest0 > 0) && (c_quest0 != player) && (c_quest0.getZ() > (player.getZ() - 100)) && (c_quest0.getZ() < (player.getZ() + 100)))
@@ -683,7 +679,7 @@ public class Zaken extends Quest
if (i0 == 0)
{
i1 = Rnd.get(15);
c_quest0.teleToLocation(Xcoords[i1] + Rnd.get(650), Ycoords[i1] + Rnd.get(650), Zcoords[i1]);
c_quest0.teleToLocation(X_COORDS[i1] + Rnd.get(650), Y_COORDS[i1] + Rnd.get(650), Z_COORDS[i1]);
((Attackable) npc).stopHating(c_quest0);
}
}
@@ -700,7 +696,7 @@ public class Zaken extends Quest
if (i0 == 0)
{
i1 = Rnd.get(15);
c_quest1.teleToLocation(Xcoords[i1] + Rnd.get(650), Ycoords[i1] + Rnd.get(650), Zcoords[i1]);
c_quest1.teleToLocation(X_COORDS[i1] + Rnd.get(650), Y_COORDS[i1] + Rnd.get(650), Z_COORDS[i1]);
((Attackable) npc).stopHating(c_quest1);
}
}
@@ -717,7 +713,7 @@ public class Zaken extends Quest
if (i0 == 0)
{
i1 = Rnd.get(15);
c_quest2.teleToLocation(Xcoords[i1] + Rnd.get(650), Ycoords[i1] + Rnd.get(650), Zcoords[i1]);
c_quest2.teleToLocation(X_COORDS[i1] + Rnd.get(650), Y_COORDS[i1] + Rnd.get(650), Z_COORDS[i1]);
((Attackable) npc).stopHating(c_quest2);
}
}
@@ -734,7 +730,7 @@ public class Zaken extends Quest
if (i0 == 0)
{
i1 = Rnd.get(15);
c_quest3.teleToLocation(Xcoords[i1] + Rnd.get(650), Ycoords[i1] + Rnd.get(650), Zcoords[i1]);
c_quest3.teleToLocation(X_COORDS[i1] + Rnd.get(650), Y_COORDS[i1] + Rnd.get(650), Z_COORDS[i1]);
((Attackable) npc).stopHating(c_quest3);
}
}
@@ -751,7 +747,7 @@ public class Zaken extends Quest
if (i0 == 0)
{
i1 = Rnd.get(15);
c_quest4.teleToLocation(Xcoords[i1] + Rnd.get(650), Ycoords[i1] + Rnd.get(650), Zcoords[i1]);
c_quest4.teleToLocation(X_COORDS[i1] + Rnd.get(650), Y_COORDS[i1] + Rnd.get(650), Z_COORDS[i1]);
((Attackable) npc).stopHating(c_quest4);
}
}
@@ -773,7 +769,7 @@ public class Zaken extends Quest
{
if (attacker.getMountType() == 1)
{
int sk_4258 = 0;
int sk4258 = 0;
final Effect[] effects = attacker.getAllEffects();
if ((effects != null) && (effects.length != 0))
{
@@ -781,11 +777,11 @@ public class Zaken extends Quest
{
if (e.getSkill().getId() == 4258)
{
sk_4258 = 1;
sk4258 = 1;
}
}
}
if (sk_4258 == 0)
if (sk4258 == 0)
{
npc.setTarget(attacker);
npc.doCast(SkillTable.getInstance().getInfo(4258, 1));
@@ -832,25 +828,19 @@ public class Zaken extends Quest
}
}
}
if (Rnd.nextBoolean())
if (Rnd.nextBoolean() && (attacker == ((Attackable) npc).getMostHated()))
{
if (attacker == ((Attackable) npc).getMostHated())
{
npc.setTarget(attacker);
npc.doCast(SkillTable.getInstance().getInfo(4220, 1));
}
npc.setTarget(attacker);
npc.doCast(SkillTable.getInstance().getInfo(4220, 1));
}
}
if (getTimeHour() < 5)
{
}
else if (npc.getCurrentHp() < ((npc.getMaxHp() * _quest2) / 4.0))
if ((getTimeHour() >= 5) && (npc.getCurrentHp() < ((npc.getMaxHp() * _quest2) / 4.0)))
{
_quest2 = (_quest2 - 1);
final int i2 = Rnd.get(15);
_ai1 = Xcoords[i2] + Rnd.get(650);
_ai2 = Ycoords[i2] + Rnd.get(650);
_ai3 = Zcoords[i2];
_ai1 = X_COORDS[i2] + Rnd.get(650);
_ai2 = Y_COORDS[i2] + Rnd.get(650);
_ai3 = Z_COORDS[i2];
npc.setTarget(npc);
npc.doCast(SkillTable.getInstance().getInfo(4222, 1));
}
@@ -885,10 +875,7 @@ public class Zaken extends Quest
}
else if (status == ALIVE)
{
if (npcId != ZAKEN)
{
startQuestTimer("CreateOnePrivateEx", ((30 + Rnd.get(60)) * 1000), npc, null);
}
startQuestTimer("CreateOnePrivateEx", ((30 + Rnd.get(60)) * 1000), npc, null);
}
return super.onKill(npc, killer, isPet);
}
@@ -976,13 +963,10 @@ public class Zaken extends Quest
}
}
}
if (Rnd.nextBoolean())
if (Rnd.nextBoolean() && (player == ((Attackable) npc).getMostHated()))
{
if (player == ((Attackable) npc).getMostHated())
{
npc.setTarget(player);
npc.doCast(SkillTable.getInstance().getInfo(4220, 1));
}
npc.setTarget(player);
npc.doCast(SkillTable.getInstance().getInfo(4220, 1));
}
}
}

View File

@@ -26,16 +26,16 @@ import org.l2jmobius.commons.util.Rnd;
*/
public class Bingo
{
protected static final String template = "%msg%<br><br>%choices%<br><br>%board%";
protected static final String template_final = "%msg%<br><br>%board%";
protected static final String template_board = "For your information, below is your current selection.<br><table border=\"1\" border color=\"white\" width=100><tr><td align=\"center\">%cell1%</td><td align=\"center\">%cell2%</td><td align=\"center\">%cell3%</td></tr><tr><td align=\"center\">%cell4%</td><td align=\"center\">%cell5%</td><td align=\"center\">%cell6%</td></tr><tr><td align=\"center\">%cell7%</td><td align=\"center\">%cell8%</td><td align=\"center\">%cell9%</td></tr></table>";
protected static final String msg_again = "You have already selected that number. Choose your %choicenum% number again.";
protected static final String msg_begin = "I've arranged 9 numbers on the panel.<br>Now, select your %choicenum% number.";
protected static final String msg_next = "Now, choose your %choicenum% number.";
protected static final String msg_0lines = "You are spectacularly unlucky! The red-colored numbers on the panel below are the ones you chose. As you can see, they didn't create even a single line. Did you know that it is harder not to create a single line than creating all 3 lines?";
protected static final String msg_3lines = "You've created 3 lines! The red colored numbers on the bingo panel below are the numbers you chose. Congratulations!";
protected static final String msg_lose = "Hmm... You didn't make 3 lines. Why don't you try again? The red-colored numbers on the panel are the ones you chose.";
protected static final String[] nums =
protected static final String TEMPLATE = "%msg%<br><br>%choices%<br><br>%board%";
protected static final String TEMPLATE_FINAL = "%msg%<br><br>%board%";
protected static final String TEMPLATE_BOARD = "For your information, below is your current selection.<br><table border=\"1\" border color=\"white\" width=100><tr><td align=\"center\">%cell1%</td><td align=\"center\">%cell2%</td><td align=\"center\">%cell3%</td></tr><tr><td align=\"center\">%cell4%</td><td align=\"center\">%cell5%</td><td align=\"center\">%cell6%</td></tr><tr><td align=\"center\">%cell7%</td><td align=\"center\">%cell8%</td><td align=\"center\">%cell9%</td></tr></table>";
protected static final String MSG_AGAIN = "You have already selected that number. Choose your %choicenum% number again.";
protected static final String MSG_BEGIN = "I've arranged 9 numbers on the panel.<br>Now, select your %choicenum% number.";
protected static final String MSG_NEXT = "Now, choose your %choicenum% number.";
protected static final String MSG_ZERO_LINES = "You are spectacularly unlucky! The red-colored numbers on the panel below are the ones you chose. As you can see, they didn't create even a single line. Did you know that it is harder not to create a single line than creating all 3 lines?";
protected static final String MSG_THREE_LINES = "You've created 3 lines! The red colored numbers on the bingo panel below are the numbers you chose. Congratulations!";
protected static final String MSG_LOSE = "Hmm... You didn't make 3 lines. Why don't you try again? The red-colored numbers on the panel are the ones you chose.";
protected static final String[] NUMBERS =
{
"first",
"second",
@@ -50,11 +50,11 @@ public class Bingo
private final List<Integer> guesses;
protected int lines;
public Bingo(String template_choice)
public Bingo(String templateChoice)
{
board = new ArrayList<>();
guesses = new ArrayList<>();
_template_choice = template_choice;
_template_choice = templateChoice;
while (board.size() < 9)
{
final int num = Rnd.get(1, 9);
@@ -69,7 +69,7 @@ public class Bingo
{
try
{
return Select(Integer.valueOf(s));
return Select(Integer.parseInt(s));
}
catch (Exception E)
{
@@ -97,18 +97,18 @@ public class Bingo
protected String getBoard()
{
if (guesses.size() == 0)
if (guesses.isEmpty())
{
return "";
}
String result = "For your information, below is your current selection.<br><table border=\"1\" border color=\"white\" width=100><tr><td align=\"center\">%cell1%</td><td align=\"center\">%cell2%</td><td align=\"center\">%cell3%</td></tr><tr><td align=\"center\">%cell4%</td><td align=\"center\">%cell5%</td><td align=\"center\">%cell6%</td></tr><tr><td align=\"center\">%cell7%</td><td align=\"center\">%cell8%</td><td align=\"center\">%cell9%</td></tr></table>";
for (int i = 1; i <= 9; ++i)
{
final String cell = "%cell" + String.valueOf(i) + "%";
final String cell = "%cell" + i + "%";
final int num = board.get(i - 1);
if (guesses.contains(num))
{
result = result.replaceFirst(cell, "<font color=\"" + ((guesses.size() == 6) ? "ff0000" : "ffff00") + "\">" + String.valueOf(num) + "</font>");
result = result.replaceFirst(cell, "<font color=\"" + ((guesses.size() == 6) ? "ff0000" : "ffff00") + "\">" + num + "</font>");
}
else
{
@@ -121,7 +121,7 @@ public class Bingo
public String getDialog(String msg)
{
String result = "%msg%<br><br>%choices%<br><br>%board%";
if (guesses.size() == 0)
if (guesses.isEmpty())
{
result = result.replaceFirst("%msg%", "I've arranged 9 numbers on the panel.<br>Now, select your %choicenum% number.");
}
@@ -129,13 +129,13 @@ public class Bingo
{
result = result.replaceFirst("%msg%", "".equalsIgnoreCase(msg) ? "Now, choose your %choicenum% number." : msg);
}
result = result.replaceFirst("%choicenum%", Bingo.nums[guesses.size()]);
result = result.replaceFirst("%choicenum%", Bingo.NUMBERS[guesses.size()]);
final StringBuilder choices = new StringBuilder();
for (int i = 1; i <= 9; ++i)
{
if (!guesses.contains(i))
{
choices.append(_template_choice.replaceAll("%n%", String.valueOf(i)));
choices.append(_template_choice.replace("%n%", String.valueOf(i)));
}
}
result = result.replaceFirst("%choices%", choices.toString());

View File

@@ -130,9 +130,9 @@ public class FeedableBeasts extends Quest
_chance = chance;
}
public void addMobs(int spice, int[][] Mobs)
public void addMobs(int spice, int[][] mobs)
{
_spiceToMob.put(spice, Mobs);
_spiceToMob.put(spice, mobs);
}
public Integer getMob(int spice, int mobType, int classType)
@@ -442,29 +442,26 @@ public class FeedableBeasts extends Quest
@Override
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
{
if (event.equalsIgnoreCase("polymorph Mad Cow") && (npc != null) && (player != null))
if (event.equalsIgnoreCase("polymorph Mad Cow") && (npc != null) && (player != null) && MAD_COW_POLYMORPH.containsKey(npc.getNpcId()))
{
if (MAD_COW_POLYMORPH.containsKey(npc.getNpcId()))
// remove the feed info from the previous mob
if (FEED_INFO.getOrDefault(npc.getObjectId(), 0) == player.getObjectId())
{
// remove the feed info from the previous mob
if (FEED_INFO.getOrDefault(npc.getObjectId(), 0) == player.getObjectId())
{
FEED_INFO.remove(npc.getObjectId());
}
// despawn the mad cow
npc.deleteMe();
// spawn the new mob
Attackable nextNpc = (Attackable) addSpawn(MAD_COW_POLYMORPH.get(npc.getNpcId()), npc);
// register the player in the feedinfo for the mob that just spawned
FEED_INFO.put(nextNpc.getObjectId(), player.getObjectId());
nextNpc.setRunning();
nextNpc.addDamageHate(player, 0, 99999);
nextNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
FEED_INFO.remove(npc.getObjectId());
}
// despawn the mad cow
npc.deleteMe();
// spawn the new mob
Attackable nextNpc = (Attackable) addSpawn(MAD_COW_POLYMORPH.get(npc.getNpcId()), npc);
// register the player in the feedinfo for the mob that just spawned
FEED_INFO.put(nextNpc.getObjectId(), player.getObjectId());
nextNpc.setRunning();
nextNpc.addDamageHate(player, 0, 99999);
nextNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
}
return super.onAdvEvent(event, npc, player);
@@ -506,7 +503,7 @@ public class FeedableBeasts extends Quest
{
food = GOLDEN_SPICE;
}
else if (skillId == SKILL_CRYSTAL_SPICE)
else // if (skillId == SKILL_CRYSTAL_SPICE)
{
food = CRYSTAL_SPICE;
}

View File

@@ -39,7 +39,7 @@ import org.l2jmobius.gameserver.util.Util;
public class Monastery extends Quest
{
static final int[] mobs1 =
private static final int[] MOBS_1 =
{
22124,
22125,
@@ -47,13 +47,12 @@ public class Monastery extends Quest
22127,
22129
};
static final int[] mobs2 =
private static final int[] MOBS_2 =
{
22134,
22135
};
// TODO: npcstring
static final String[] text =
private static final String[] TEXT =
{
"You cannot carry a weapon without authorization!",
"name, why would you choose the path of darkness?!",
@@ -63,19 +62,19 @@ public class Monastery extends Quest
public Monastery()
{
super(-1, "ai");
registerMobs(mobs1, QuestEventType.ON_AGGRO_RANGE_ENTER, QuestEventType.ON_SPAWN, QuestEventType.ON_SPELL_FINISHED);
registerMobs(mobs2, QuestEventType.ON_SPELL_FINISHED);
registerMobs(MOBS_1, QuestEventType.ON_AGGRO_RANGE_ENTER, QuestEventType.ON_SPAWN, QuestEventType.ON_SPELL_FINISHED);
registerMobs(MOBS_2, QuestEventType.ON_SPELL_FINISHED);
}
@Override
public String onAggroRangeEnter(NpcInstance npc, PlayerInstance player, boolean isPet)
{
if (Util.contains(mobs1, npc.getNpcId()) && !npc.isInCombat() && (npc.getTarget() == null))
if (Util.contains(MOBS_1, npc.getNpcId()) && !npc.isInCombat() && (npc.getTarget() == null))
{
if ((player.getActiveWeaponInstance() != null) && !player.isSilentMoving())
{
npc.setTarget(player);
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), text[0]));
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), TEXT[0]));
switch (npc.getNpcId())
{
@@ -106,21 +105,18 @@ public class Monastery extends Quest
@Override
public String onSpawn(NpcInstance npc)
{
if (Util.contains(mobs1, npc.getNpcId()))
if (Util.contains(MOBS_1, npc.getNpcId()))
{
final List<Playable> result = new ArrayList<>();
final Collection<WorldObject> objs = npc.getKnownList().getKnownObjects().values();
for (WorldObject obj : objs)
{
if ((obj instanceof PlayerInstance) || (obj instanceof PetInstance))
if (((obj instanceof PlayerInstance) || (obj instanceof PetInstance)) && Util.checkIfInRange(npc.getAggroRange(), npc, obj, true) && !((Creature) obj).isDead())
{
if (Util.checkIfInRange(npc.getAggroRange(), npc, obj, true) && !((Creature) obj).isDead())
{
result.add((Playable) obj);
}
result.add((Playable) obj);
}
}
if (!result.isEmpty() && (result.size() != 0))
if (!result.isEmpty())
{
final Object[] characters = result.toArray();
for (Object obj : characters)
@@ -135,7 +131,7 @@ public class Monastery extends Quest
if ((target.getActiveWeaponInstance() != null) && !npc.isInCombat() && (npc.getTarget() == null))
{
npc.setTarget(target);
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), text[0]));
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), TEXT[0]));
switch (npc.getNpcId())
{
case 22124:
@@ -165,21 +161,18 @@ public class Monastery extends Quest
@Override
public String onSpellFinished(NpcInstance npc, PlayerInstance player, Skill skill)
{
if (Util.contains(mobs1, npc.getNpcId()) && (skill.getId() == 4589))
if (Util.contains(MOBS_1, npc.getNpcId()) && (skill.getId() == 4589))
{
npc.setIsRunning(true);
((Attackable) npc).addDamageHate(player, 0, 999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
}
if (Util.contains(mobs2, npc.getNpcId()))
if (Util.contains(MOBS_2, npc.getNpcId()) && (skill.getSkillType() == SkillType.AGGDAMAGE))
{
if (skill.getSkillType() == SkillType.AGGDAMAGE)
{
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), text[Rnd.get(2) + 1].replace("name", player.getName())));
((Attackable) npc).addDamageHate(player, 0, 999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
}
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), TEXT[Rnd.get(2) + 1].replace("name", player.getName())));
((Attackable) npc).addDamageHate(player, 0, 999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player);
}
return super.onSpellFinished(npc, player, skill);

View File

@@ -34,25 +34,25 @@ public class NewbieHelper extends Quest
{
// Quest Items
// Human
private final static int RECOMMENDATION_01 = 1067;
private final static int RECOMMENDATION_02 = 1068;
private static final int RECOMMENDATION_01 = 1067;
private static final int RECOMMENDATION_02 = 1068;
// Elf
private final static int LEAF_OF_MOTHERTREE = 1069;
private static final int LEAF_OF_MOTHERTREE = 1069;
// Dark Elf
private final static int BLOOD_OF_JUNDIN = 1070;
private static final int BLOOD_OF_JUNDIN = 1070;
// Dwarf
private final static int LICENSE_OF_MINER = 1498;
private static final int LICENSE_OF_MINER = 1498;
// Orc
private final static int VOUCHER_OF_FLAME = 1496;
private static final int VOUCHER_OF_FLAME = 1496;
// Items Reward
private final static int SOULSHOT_NOVICE = 5789;
private final static int SPIRITSHOT_NOVICE = 5790;
private final static int BLUE_GEM = 6353;
private final static int TOKEN = 8542;
private final static int SCROLL = 8594;
private static final int SOULSHOT_NOVICE = 5789;
private static final int SPIRITSHOT_NOVICE = 5790;
private static final int BLUE_GEM = 6353;
private static final int TOKEN = 8542;
private static final int SCROLL = 8594;
private final static Map<String, Event> _events = new HashMap<>();
private static final Map<String, Event> _events = new HashMap<>();
static
{
_events.put("30008_02", new Event("30008-03.htm", -84058, 243239, -3730, RECOMMENDATION_01, 0x00, SOULSHOT_NOVICE, 200, 0x00, 0, 0));
@@ -64,7 +64,7 @@ public class NewbieHelper extends Quest
}
// @formatter:off
private final static Map<Integer, Talk> _talks = new HashMap<>();
private static final Map<Integer, Talk> _talks = new HashMap<>();
static
{
// Grand Master - Roien - Human
@@ -126,14 +126,14 @@ public class NewbieHelper extends Quest
{
int _raceId;
String[] _htmlfiles;
int _npcTyp;
int _npcType;
int _item;
public Talk(int raceId, String[] htmlfiles, int npcTyp, int item)
{
_raceId = raceId;
_htmlfiles = htmlfiles;
_npcTyp = npcTyp;
_npcType = npcTyp;
_item = item;
}
}
@@ -232,13 +232,10 @@ public class NewbieHelper extends Quest
qs1.giveItems(ev._gift1, ev._count1);
qs1.playTutorialVoice(ev._gift1 == SPIRITSHOT_NOVICE ? "tutorial_voice_027" : "tutorial_voice_026");
}
else if (classId == ev._classId2)
else if ((classId == ev._classId2) && (ev._gift2 != 0))
{
if (ev._gift2 != 0)
{
qs1.giveItems(ev._gift2, ev._count2);
qs1.playTutorialVoice("tutorial_voice_026");
}
qs1.giveItems(ev._gift2, ev._count2);
qs1.playTutorialVoice("tutorial_voice_026");
}
qs1.unset("step");
qs1.set("onlyone", "1");
@@ -270,7 +267,9 @@ public class NewbieHelper extends Quest
boolean isMage = player.isMageClass();
boolean isOrcMage = player.getClassId().getId() == 49;
int npcTyp = 0, raceId = 0, item = 0;
int npcType = 0;
int raceId = 0;
int item = 0;
String[] htmlfiles = {};
Talk talk = _talks.get(npcId);
try
@@ -279,10 +278,10 @@ public class NewbieHelper extends Quest
{
raceId = talk._raceId;
htmlfiles = talk._htmlfiles;
npcTyp = talk._npcTyp;
npcType = talk._npcType;
item = talk._item;
}
if (((level >= 10) || (qs1.getInt("onlyone") == 1)) && (npcTyp == 1))
if (((level >= 10) || (qs1.getInt("onlyone") == 1)) && (npcType == 1))
{
htmltext = "newbiehelper_03.htm";
}
@@ -291,7 +290,7 @@ public class NewbieHelper extends Quest
if (player.getRace().ordinal() == raceId)
{
htmltext = htmlfiles[0];
if (npcTyp == 1)
if (npcType == 1)
{
if ((qs1.getInt("step") == 0) && (qs2.get("Ex") == null))
{
@@ -342,7 +341,7 @@ public class NewbieHelper extends Quest
htmltext = htmlfiles[3];
}
}
else if (npcTyp == 0)
else if (npcType == 0)
{
int step = qs1.getInt("step");
if (step == 1)
@@ -377,7 +376,7 @@ public class NewbieHelper extends Quest
npc.showChatWindow(player);
return null;
}
else if ((npcTyp == 0) && (qs1.getState() == State.COMPLETED))
else if ((npcType == 0) && (qs1.getState() == State.COMPLETED))
{
htmltext = "" + npcId + "-04.htm";
}
@@ -387,9 +386,9 @@ public class NewbieHelper extends Quest
return null;
}
}
catch (Exception ex)
catch (Exception e)
{
// TODO: do nothing
// Ignore.
}
return htmltext;
}

View File

@@ -141,29 +141,26 @@ public class Transform extends Quest
{
for (Transformer monster : _mobs)
{
if (npc.getNpcId() == monster.getId())
if ((npc.getNpcId() == monster.getId()) && (Rnd.get(100) <= (monster.getChance() * Config.RATE_DROP_QUEST)))
{
if (Rnd.get(100) <= (monster.getChance() * Config.RATE_DROP_QUEST))
if (monster.getMessage() != 0)
{
if (monster.getMessage() != 0)
{
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), Message[Rnd.get(monster.getMessage())]));
}
npc.onDecay();
final Attackable newNpc = (Attackable) addSpawn(monster.getIdPoly(), npc);
final Creature originalAttacker = isPet ? attacker.getPet() : attacker;
newNpc.setRunning();
newNpc.addDamageHate(originalAttacker, 0, 999);
newNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, originalAttacker);
// NPC Spawn Effect L2OFF
final NPCSpawnTask spawnEffectTask = new NPCSpawnTask(newNpc, 4000, 800000);
final Thread effectThread = new Thread(spawnEffectTask);
effectThread.start();
// Like L2OFF auto target new mob (like an aggression)
originalAttacker.setTargetTrasformedNpc(newNpc);
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 0, npc.getName(), Message[Rnd.get(monster.getMessage())]));
}
npc.onDecay();
final Attackable newNpc = (Attackable) addSpawn(monster.getIdPoly(), npc);
final Creature originalAttacker = isPet ? attacker.getPet() : attacker;
newNpc.setRunning();
newNpc.addDamageHate(originalAttacker, 0, 999);
newNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, originalAttacker);
// NPC Spawn Effect L2OFF
final NPCSpawnTask spawnEffectTask = new NPCSpawnTask(newNpc, 4000, 800000);
final Thread effectThread = new Thread(spawnEffectTask);
effectThread.start();
// Like L2OFF auto target new mob (like an aggression)
originalAttacker.setTargetTrasformedNpc(newNpc);
}
}
return super.onAttack(npc, attacker, damage, isPet);

View File

@@ -169,7 +169,7 @@ public class Tutorial extends Quest
String html = "";
int classId = player.getClassId().getId();
int Ex = qs.getInt("Ex");
int ex = qs.getInt("Ex");
if (event.startsWith("UC"))
{
@@ -193,7 +193,7 @@ public class Tutorial extends Quest
}
case 2:
{
if (Ex == 2)
if (ex == 2)
{
qs.showQuestionMark(3);
}
@@ -216,12 +216,12 @@ public class Tutorial extends Quest
}
else if (event.startsWith("QT"))
{
if (Ex == -2)
if (ex == -2)
{
String voice = "";
for (String[] element : QTEXMTWO)
{
if (classId == Integer.valueOf(element[0]))
if (classId == Integer.parseInt(element[0]))
{
voice = element[1];
html = element[2];
@@ -232,12 +232,12 @@ public class Tutorial extends Quest
cancelQuestTimers("QT");
startQuestTimer("QT", 30000, null, player, false);
}
else if (Ex == -3)
else if (ex == -3)
{
qs.playTutorialVoice("tutorial_voice_002");
qs.set("Ex", "0");
}
else if (Ex == -4)
else if (ex == -4)
{
qs.playTutorialVoice("tutorial_voice_008");
qs.set("Ex", "-5");
@@ -249,7 +249,7 @@ public class Tutorial extends Quest
cancelQuestTimers("TE");
if (!event.equalsIgnoreCase("TE"))
{
switch (Integer.valueOf(event.substring(2)))
switch (Integer.parseInt(event.substring(2)))
{
case 0:
{
@@ -354,34 +354,34 @@ public class Tutorial extends Quest
// Client Event
else if (event.startsWith("CE"))
{
int event_id = Integer.valueOf(event.substring(2));
if ((event_id == 1) && (player.getLevel() < 6))
final int eventId = Integer.parseInt(event.substring(2));
if ((eventId == 1) && (player.getLevel() < 6))
{
qs.playTutorialVoice("tutorial_voice_004");
html = "tutorial_03.htm";
qs.playSound("ItemSound.quest_tutorial");
qs.onTutorialClientEvent(2);
}
else if ((event_id == 2) && (player.getLevel() < 6))
else if ((eventId == 2) && (player.getLevel() < 6))
{
qs.playTutorialVoice("tutorial_voice_005");
html = "tutorial_05.htm";
qs.playSound("ItemSound.quest_tutorial");
qs.onTutorialClientEvent(8);
}
else if ((event_id == 8) && (player.getLevel() < 6))
else if ((eventId == 8) && (player.getLevel() < 6))
{
int x = 0;
int y = 0;
int z = 0;
for (String[] element : CEEa)
{
if (classId == Integer.valueOf(element[0]))
if (classId == Integer.parseInt(element[0]))
{
html = element[1];
x = Integer.valueOf(element[2]);
y = Integer.valueOf(element[3]);
z = Integer.valueOf(element[4]);
x = Integer.parseInt(element[2]);
y = Integer.parseInt(element[3]);
z = Integer.parseInt(element[4]);
}
}
if (x != 0)
@@ -393,7 +393,7 @@ public class Tutorial extends Quest
qs.set("Ex", "-5");
}
}
else if ((event_id == 30) && (player.getLevel() < 10) && (qs.getInt("Die") == 0))
else if ((eventId == 30) && (player.getLevel() < 10) && (qs.getInt("Die") == 0))
{
qs.playTutorialVoice("tutorial_voice_016");
qs.playSound("ItemSound.quest_tutorial");
@@ -401,7 +401,7 @@ public class Tutorial extends Quest
qs.showQuestionMark(8);
qs.onTutorialClientEvent(0);
}
else if ((event_id == 800000) && (player.getLevel() < 6) && (qs.getInt("sit") == 0))
else if ((eventId == 800000) && (player.getLevel() < 6) && (qs.getInt("sit") == 0))
{
qs.playTutorialVoice("tutorial_voice_018");
qs.playSound("ItemSound.quest_tutorial");
@@ -409,7 +409,7 @@ public class Tutorial extends Quest
qs.onTutorialClientEvent(0);
html = "tutorial_21z.htm";
}
else if (event_id == 40)
else if (eventId == 40)
{
switch (player.getLevel())
{
@@ -517,7 +517,7 @@ public class Tutorial extends Quest
}
}
}
else if ((event_id == 45) && (player.getLevel() < 10) && (qs.getInt("HP") == 0))
else if ((eventId == 45) && (player.getLevel() < 10) && (qs.getInt("HP") == 0))
{
qs.playTutorialVoice("tutorial_voice_017");
qs.playSound("ItemSound.quest_tutorial");
@@ -525,21 +525,21 @@ public class Tutorial extends Quest
qs.showQuestionMark(10);
qs.onTutorialClientEvent(800000);
}
else if ((event_id == 57) && (player.getLevel() < 6) && (qs.getInt("Adena") == 0))
else if ((eventId == 57) && (player.getLevel() < 6) && (qs.getInt("Adena") == 0))
{
qs.playTutorialVoice("tutorial_voice_012");
qs.playSound("ItemSound.quest_tutorial");
qs.set("Adena", "1");
qs.showQuestionMark(23);
}
else if ((event_id == 6353) && (player.getLevel() < 6) && (qs.getInt("Gemstone") == 0))
else if ((eventId == 6353) && (player.getLevel() < 6) && (qs.getInt("Gemstone") == 0))
{
qs.playTutorialVoice("tutorial_voice_013");
qs.playSound("ItemSound.quest_tutorial");
qs.set("Gemstone", "1");
qs.showQuestionMark(5);
}
else if ((event_id == 1048576) && (player.getLevel() < 6))
else if ((eventId == 1048576) && (player.getLevel() < 6))
{
qs.showQuestionMark(5);
qs.playTutorialVoice("tutorial_voice_013");
@@ -552,7 +552,7 @@ public class Tutorial extends Quest
int x = 0;
int y = 0;
int z = 0;
switch (Integer.valueOf(event.substring(2)))
switch (Integer.parseInt(event.substring(2)))
{
case 1:
{
@@ -560,12 +560,12 @@ public class Tutorial extends Quest
qs.set("Ex", "-5");
for (String[] element : CEEa)
{
if (classId == Integer.valueOf(element[0]))
if (classId == Integer.parseInt(element[0]))
{
html = element[1];
x = Integer.valueOf(element[2]);
y = Integer.valueOf(element[3]);
z = Integer.valueOf(element[4]);
x = Integer.parseInt(element[2]);
y = Integer.parseInt(element[3]);
z = Integer.parseInt(element[4]);
}
}
qs.addRadar(x, y, z);
@@ -581,12 +581,12 @@ public class Tutorial extends Quest
{
for (String[] element : CEEa)
{
if (classId == Integer.valueOf(element[0]))
if (classId == Integer.parseInt(element[0]))
{
html = element[1];
x = Integer.valueOf(element[2]);
y = Integer.valueOf(element[3]);
z = Integer.valueOf(element[4]);
x = Integer.parseInt(element[2]);
y = Integer.parseInt(element[3]);
z = Integer.parseInt(element[4]);
}
}
qs.addRadar(x, y, z);
@@ -608,12 +608,12 @@ public class Tutorial extends Quest
{
for (String[] element : QMCa)
{
if (classId == Integer.valueOf(element[0]))
if (classId == Integer.parseInt(element[0]))
{
html = element[1];
x = Integer.valueOf(element[2]);
y = Integer.valueOf(element[3]);
z = Integer.valueOf(element[4]);
x = Integer.parseInt(element[2]);
y = Integer.parseInt(element[3]);
z = Integer.parseInt(element[4]);
}
}
if (x != 0)
@@ -631,12 +631,12 @@ public class Tutorial extends Quest
{
for (String[] element : QMCa)
{
if (classId == Integer.valueOf(element[0]))
if (classId == Integer.parseInt(element[0]))
{
html = element[1];
x = Integer.valueOf(element[2]);
y = Integer.valueOf(element[3]);
z = Integer.valueOf(element[4]);
x = Integer.parseInt(element[2]);
y = Integer.parseInt(element[3]);
z = Integer.parseInt(element[4]);
}
}
if (x != 0)

View File

@@ -68,13 +68,13 @@ public class ZombieGatekeepers extends Quest
final Creature target = isPet ? player.getPet() : player;
final ItemInstance VisitorsMark = player.getInventory().getItemByItemId(8064);
final ItemInstance FadedVisitorsMark = player.getInventory().getItemByItemId(8065);
final ItemInstance PagansMark = player.getInventory().getItemByItemId(8067);
final ItemInstance visitorsMark = player.getInventory().getItemByItemId(8064);
final ItemInstance fadedVisitorsMark = player.getInventory().getItemByItemId(8065);
final ItemInstance pagansMark = player.getInventory().getItemByItemId(8067);
final long mark1 = VisitorsMark == null ? 0 : VisitorsMark.getCount();
final long mark2 = FadedVisitorsMark == null ? 0 : FadedVisitorsMark.getCount();
final long mark3 = PagansMark == null ? 0 : PagansMark.getCount();
final long mark1 = visitorsMark == null ? 0 : visitorsMark.getCount();
final long mark2 = fadedVisitorsMark == null ? 0 : fadedVisitorsMark.getCount();
final long mark3 = pagansMark == null ? 0 : pagansMark.getCount();
if ((mark1 == 0) && (mark2 == 0) && (mark3 == 0))
{

View File

@@ -52,7 +52,7 @@ public class HeroWeapon extends Quest
{
QuestState st = player.getQuestState(getName());
int weaponId = Integer.valueOf(event);
int weaponId = Integer.parseInt(event);
if (Util.contains(WEAPON_IDS, weaponId))
{
st.giveItems(weaponId, 1);

View File

@@ -229,7 +229,7 @@ public class NpcLocationInfo extends Quest
if (Util.contains(RADARS, npcId))
{
for (Spawn spawn : SpawnTable.getInstance().getAllTemplates().values())
for (Spawn spawn : SpawnTable.getInstance().getSpawnTable().values())
{
if (npcId == spawn.getNpcId())
{

View File

@@ -128,7 +128,7 @@ public class RaidbossInfo extends Quest
}
// Add all Raid Bosses locations.
for (Spawn spawn : SpawnTable.getInstance().getAllTemplates().values())
for (Spawn spawn : SpawnTable.getInstance().getSpawnTable().values())
{
final NpcTemplate template = NpcTable.getInstance().getTemplate(spawn.getNpcId());
if ((template != null) && template.type.equals(BOSS_CLASS_TYPE))

View File

@@ -26,13 +26,13 @@ import org.l2jmobius.gameserver.model.quest.State;
public class Q009_IntoTheCityOfHumans extends Quest
{
// NPCs
private final int PETUKAI = 30583;
private final int TANAPI = 30571;
private final int TAMIL = 30576;
private static final int PETUKAI = 30583;
private static final int TANAPI = 30571;
private static final int TAMIL = 30576;
// Rewards
private final int MARK_OF_TRAVELER = 7570;
private final int SOE_GIRAN = 7126;
private static final int MARK_OF_TRAVELER = 7570;
private static final int SOE_GIRAN = 7126;
public Q009_IntoTheCityOfHumans()
{

View File

@@ -37,7 +37,7 @@ public class Q033_MakeAPairOfDressShoes extends Quest
private static final int ADENA = 57;
// Rewards
public static int DRESS_SHOES_BOX = 7113;
public static final int DRESS_SHOES_BOX = 7113;
public Q033_MakeAPairOfDressShoes()
{

View File

@@ -41,7 +41,7 @@ public class Q038_DragonFangs extends Quest
private static final int ROHMER = 30344;
// Reward { item, adena }
private static final int REWARD[][] =
private static final int[][] REWARD =
{
{
45,
@@ -271,8 +271,7 @@ public class Q038_DragonFangs extends Quest
return null;
}
final int droplist[] = DROPLIST.get(npc.getNpcId());
final int[] droplist = DROPLIST.get(npc.getNpcId());
if ((st.getInt("cond") == droplist[0]) && st.dropItems(droplist[1], 1, droplist[2], droplist[3]))
{
st.set("cond", String.valueOf(droplist[0] + 1));

View File

@@ -26,7 +26,7 @@ public class Q070_SagaOfThePhoenixKnight extends SagasSuperClass
public Q070_SagaOfThePhoenixKnight()
{
super(70, "Saga of the Phoenix Knight");
NPC = new int[]
_npc = new int[]
{
30849,
31624,
@@ -41,7 +41,7 @@ public class Q070_SagaOfThePhoenixKnight extends SagasSuperClass
31657,
31277
};
Items = new int[]
_items = new int[]
{
7080,
7534,
@@ -56,39 +56,39 @@ public class Q070_SagaOfThePhoenixKnight extends SagasSuperClass
7093,
6482
};
Mob = new int[]
_mob = new int[]
{
27286,
27219,
27278
};
classid = new int[]
_classId = new int[]
{
90
};
prevclass = new int[]
_prevClass = new int[]
{
0x05
};
X = new int[]
_x = new int[]
{
191046,
46087,
46066
};
Y = new int[]
_y = new int[]
{
-40640,
-36372,
-36396
};
Z = new int[]
_z = new int[]
{
-3042,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q071_SagaOfEvasTemplar extends SagasSuperClass
public Q071_SagaOfEvasTemplar()
{
super(71, "Saga of Eva's Templar");
NPC = new int[]
_npc = new int[]
{
30852,
31624,
@@ -41,7 +41,7 @@ public class Q071_SagaOfEvasTemplar extends SagasSuperClass
31658,
31281
};
Items = new int[]
_items = new int[]
{
7080,
7535,
@@ -56,39 +56,39 @@ public class Q071_SagaOfEvasTemplar extends SagasSuperClass
7094,
6482
};
Mob = new int[]
_mob = new int[]
{
27287,
27220,
27279
};
classid = new int[]
_classId = new int[]
{
99
};
prevclass = new int[]
_prevClass = new int[]
{
0x14
};
X = new int[]
_x = new int[]
{
119518,
181215,
181227
};
Y = new int[]
_y = new int[]
{
-28658,
36676,
36703
};
Z = new int[]
_z = new int[]
{
-3811,
-4812,
-4816
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q072_SagaOfTheSwordMuse extends SagasSuperClass
public Q072_SagaOfTheSwordMuse()
{
super(72, "Saga of the Sword Muse");
NPC = new int[]
_npc = new int[]
{
30853,
31624,
@@ -41,7 +41,7 @@ public class Q072_SagaOfTheSwordMuse extends SagasSuperClass
31659,
31281
};
Items = new int[]
_items = new int[]
{
7080,
7536,
@@ -56,39 +56,39 @@ public class Q072_SagaOfTheSwordMuse extends SagasSuperClass
7095,
6482
};
Mob = new int[]
_mob = new int[]
{
27288,
27221,
27280
};
classid = new int[]
_classId = new int[]
{
100
};
prevclass = new int[]
_prevClass = new int[]
{
0x15
};
X = new int[]
_x = new int[]
{
161719,
124355,
124376
};
Y = new int[]
_y = new int[]
{
-92823,
82155,
82127
};
Z = new int[]
_z = new int[]
{
-1893,
-2803,
-2796
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q073_SagaOfTheDuelist extends SagasSuperClass
public Q073_SagaOfTheDuelist()
{
super(73, "Saga of the Duelist");
NPC = new int[]
_npc = new int[]
{
30849,
31624,
@@ -41,7 +41,7 @@ public class Q073_SagaOfTheDuelist extends SagasSuperClass
31656,
31277
};
Items = new int[]
_items = new int[]
{
7080,
7537,
@@ -56,39 +56,39 @@ public class Q073_SagaOfTheDuelist extends SagasSuperClass
7096,
7546
};
Mob = new int[]
_mob = new int[]
{
27289,
27222,
27281
};
classid = new int[]
_classId = new int[]
{
88
};
prevclass = new int[]
_prevClass = new int[]
{
0x02
};
X = new int[]
_x = new int[]
{
164650,
47429,
47391
};
Y = new int[]
_y = new int[]
{
-74121,
-56923,
-56929
};
Z = new int[]
_z = new int[]
{
-2871,
-2383,
-2370
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q074_SagaOfTheDreadnought extends SagasSuperClass
public Q074_SagaOfTheDreadnought()
{
super(74, "Saga of the Dreadnought");
NPC = new int[]
_npc = new int[]
{
30850,
31624,
@@ -41,7 +41,7 @@ public class Q074_SagaOfTheDreadnought extends SagasSuperClass
31657,
31522
};
Items = new int[]
_items = new int[]
{
7080,
7538,
@@ -56,39 +56,39 @@ public class Q074_SagaOfTheDreadnought extends SagasSuperClass
7097,
6480
};
Mob = new int[]
_mob = new int[]
{
27290,
27223,
27282
};
classid = new int[]
_classId = new int[]
{
89
};
prevclass = new int[]
_prevClass = new int[]
{
0x03
};
X = new int[]
_x = new int[]
{
191046,
46087,
46066
};
Y = new int[]
_y = new int[]
{
-40640,
-36372,
-36396
};
Z = new int[]
_z = new int[]
{
-3042,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q075_SagaOfTheTitan extends SagasSuperClass
public Q075_SagaOfTheTitan()
{
super(75, "Saga of the Titan");
NPC = new int[]
_npc = new int[]
{
31327,
31624,
@@ -41,7 +41,7 @@ public class Q075_SagaOfTheTitan extends SagasSuperClass
31658,
31290
};
Items = new int[]
_items = new int[]
{
7080,
7539,
@@ -56,39 +56,39 @@ public class Q075_SagaOfTheTitan extends SagasSuperClass
7098,
0
};
Mob = new int[]
_mob = new int[]
{
27292,
27224,
27283
};
classid = new int[]
_classId = new int[]
{
113
};
prevclass = new int[]
_prevClass = new int[]
{
0x2e
};
X = new int[]
_x = new int[]
{
119518,
181215,
181227
};
Y = new int[]
_y = new int[]
{
-28658,
36676,
36703
};
Z = new int[]
_z = new int[]
{
-3811,
-4812,
-4816
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q076_SagaOfTheGrandKhavatari extends SagasSuperClass
public Q076_SagaOfTheGrandKhavatari()
{
super(76, "Saga of the Grand Khavatari");
NPC = new int[]
_npc = new int[]
{
31339,
31624,
@@ -41,7 +41,7 @@ public class Q076_SagaOfTheGrandKhavatari extends SagasSuperClass
31659,
31290
};
Items = new int[]
_items = new int[]
{
7080,
7539,
@@ -56,39 +56,39 @@ public class Q076_SagaOfTheGrandKhavatari extends SagasSuperClass
7099,
0
};
Mob = new int[]
_mob = new int[]
{
27293,
27226,
27284
};
classid = new int[]
_classId = new int[]
{
114
};
prevclass = new int[]
_prevClass = new int[]
{
0x30
};
X = new int[]
_x = new int[]
{
161719,
124355,
124376
};
Y = new int[]
_y = new int[]
{
-92823,
82155,
82127
};
Z = new int[]
_z = new int[]
{
-1893,
-2803,
-2796
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q077_SagaOfTheDominator extends SagasSuperClass
public Q077_SagaOfTheDominator()
{
super(77, "Saga of the Dominator");
NPC = new int[]
_npc = new int[]
{
31336,
31624,
@@ -41,7 +41,7 @@ public class Q077_SagaOfTheDominator extends SagasSuperClass
31656,
31290
};
Items = new int[]
_items = new int[]
{
7080,
7539,
@@ -56,39 +56,39 @@ public class Q077_SagaOfTheDominator extends SagasSuperClass
7100,
0
};
Mob = new int[]
_mob = new int[]
{
27294,
27226,
27262
};
classid = new int[]
_classId = new int[]
{
115
};
prevclass = new int[]
_prevClass = new int[]
{
0x33
};
X = new int[]
_x = new int[]
{
164650,
47429,
47391
};
Y = new int[]
_y = new int[]
{
-74121,
-56923,
-56929
};
Z = new int[]
_z = new int[]
{
-2871,
-2383,
-2370
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q078_SagaOfTheDoomcryer extends SagasSuperClass
public Q078_SagaOfTheDoomcryer()
{
super(78, "Saga of the Doomcryer");
NPC = new int[]
_npc = new int[]
{
31336,
31624,
@@ -42,7 +42,7 @@ public class Q078_SagaOfTheDoomcryer extends SagasSuperClass
31657,
31290
};
Items = new int[]
_items = new int[]
{
7080,
7539,
@@ -57,39 +57,39 @@ public class Q078_SagaOfTheDoomcryer extends SagasSuperClass
7101,
0
};
Mob = new int[]
_mob = new int[]
{
27295,
27227,
27285
};
classid = new int[]
_classId = new int[]
{
116
};
prevclass = new int[]
_prevClass = new int[]
{
0x34
};
X = new int[]
_x = new int[]
{
191046,
46087,
46066
};
Y = new int[]
_y = new int[]
{
-40640,
-36372,
-36396
};
Z = new int[]
_z = new int[]
{
-3042,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q079_SagaOfTheAdventurer extends SagasSuperClass
public Q079_SagaOfTheAdventurer()
{
super(79, "Saga of the Adventurer");
NPC = new int[]
_npc = new int[]
{
31603,
31584,
@@ -41,7 +41,7 @@ public class Q079_SagaOfTheAdventurer extends SagasSuperClass
31658,
31616
};
Items = new int[]
_items = new int[]
{
7080,
7516,
@@ -56,39 +56,39 @@ public class Q079_SagaOfTheAdventurer extends SagasSuperClass
7102,
0
};
Mob = new int[]
_mob = new int[]
{
27299,
27228,
27302
};
classid = new int[]
_classId = new int[]
{
93
};
prevclass = new int[]
_prevClass = new int[]
{
0x08
};
X = new int[]
_x = new int[]
{
119518,
181205,
181215
};
Y = new int[]
_y = new int[]
{
-28658,
36676,
36676
};
Z = new int[]
_z = new int[]
{
-3811,
-4816,
-4812
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q080_SagaOfTheWindRider extends SagasSuperClass
public Q080_SagaOfTheWindRider()
{
super(80, "Saga of the Wind Rider");
NPC = new int[]
_npc = new int[]
{
31603,
31624,
@@ -41,7 +41,7 @@ public class Q080_SagaOfTheWindRider extends SagasSuperClass
31659,
31616
};
Items = new int[]
_items = new int[]
{
7080,
7517,
@@ -56,39 +56,39 @@ public class Q080_SagaOfTheWindRider extends SagasSuperClass
7103,
0
};
Mob = new int[]
_mob = new int[]
{
27300,
27229,
27303
};
classid = new int[]
_classId = new int[]
{
101
};
prevclass = new int[]
_prevClass = new int[]
{
0x17
};
X = new int[]
_x = new int[]
{
161719,
124314,
124355
};
Y = new int[]
_y = new int[]
{
-92823,
82155,
82155
};
Z = new int[]
_z = new int[]
{
-1893,
-2803,
-2803
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q081_SagaOfTheGhostHunter extends SagasSuperClass
public Q081_SagaOfTheGhostHunter()
{
super(81, "Saga of the Ghost Hunter");
NPC = new int[]
_npc = new int[]
{
31603,
31624,
@@ -41,7 +41,7 @@ public class Q081_SagaOfTheGhostHunter extends SagasSuperClass
31656,
31616
};
Items = new int[]
_items = new int[]
{
7080,
7518,
@@ -56,39 +56,39 @@ public class Q081_SagaOfTheGhostHunter extends SagasSuperClass
7104,
0
};
Mob = new int[]
_mob = new int[]
{
27301,
27230,
27304
};
classid = new int[]
_classId = new int[]
{
108
};
prevclass = new int[]
_prevClass = new int[]
{
0x24
};
X = new int[]
_x = new int[]
{
164650,
47391,
47429
};
Y = new int[]
_y = new int[]
{
-74121,
-56929,
-56923
};
Z = new int[]
_z = new int[]
{
-2871,
-2370,
-2383
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q082_SagaOfTheSagittarius extends SagasSuperClass
public Q082_SagaOfTheSagittarius()
{
super(82, "Saga of the Sagittarius");
NPC = new int[]
_npc = new int[]
{
30702,
31627,
@@ -42,7 +42,7 @@ public class Q082_SagaOfTheSagittarius extends SagasSuperClass
31657,
31641
};
Items = new int[]
_items = new int[]
{
7080,
7519,
@@ -57,39 +57,39 @@ public class Q082_SagaOfTheSagittarius extends SagasSuperClass
7105,
0
};
Mob = new int[]
_mob = new int[]
{
27296,
27231,
27305
};
classid = new int[]
_classId = new int[]
{
92
};
prevclass = new int[]
_prevClass = new int[]
{
0x09
};
X = new int[]
_x = new int[]
{
191046,
46066,
46066
};
Y = new int[]
_y = new int[]
{
-40640,
-36396,
-36396
};
Z = new int[]
_z = new int[]
{
-3042,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q083_SagaOfTheMoonlightSentinel extends SagasSuperClass
public Q083_SagaOfTheMoonlightSentinel()
{
super(83, "Saga of the Moonlight Sentinel");
NPC = new int[]
_npc = new int[]
{
30702,
31627,
@@ -41,7 +41,7 @@ public class Q083_SagaOfTheMoonlightSentinel extends SagasSuperClass
31658,
31641
};
Items = new int[]
_items = new int[]
{
7080,
7520,
@@ -56,39 +56,39 @@ public class Q083_SagaOfTheMoonlightSentinel extends SagasSuperClass
7106,
0
};
Mob = new int[]
_mob = new int[]
{
27297,
27232,
27306
};
classid = new int[]
_classId = new int[]
{
102
};
prevclass = new int[]
_prevClass = new int[]
{
0x18
};
X = new int[]
_x = new int[]
{
161719,
181227,
181215
};
Y = new int[]
_y = new int[]
{
-92823,
36703,
36676
};
Z = new int[]
_z = new int[]
{
-1893,
-4816,
-4812
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q084_SagaOfTheGhostSentinel extends SagasSuperClass
public Q084_SagaOfTheGhostSentinel()
{
super(84, "Saga of the Ghost Sentinel");
NPC = new int[]
_npc = new int[]
{
30702,
31587,
@@ -42,7 +42,7 @@ public class Q084_SagaOfTheGhostSentinel extends SagasSuperClass
31659,
31641
};
Items = new int[]
_items = new int[]
{
7080,
7521,
@@ -57,39 +57,39 @@ public class Q084_SagaOfTheGhostSentinel extends SagasSuperClass
7107,
0
};
Mob = new int[]
_mob = new int[]
{
27298,
27233,
27307
};
classid = new int[]
_classId = new int[]
{
109
};
prevclass = new int[]
_prevClass = new int[]
{
0x25
};
X = new int[]
_x = new int[]
{
161719,
124376,
124376
};
Y = new int[]
_y = new int[]
{
-92823,
82127,
82127
};
Z = new int[]
_z = new int[]
{
-1893,
-2796,
-2796
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q085_SagaOfTheCardinal extends SagasSuperClass
public Q085_SagaOfTheCardinal()
{
super(85, "Saga of the Cardinal");
NPC = new int[]
_npc = new int[]
{
30191,
31626,
@@ -41,7 +41,7 @@ public class Q085_SagaOfTheCardinal extends SagasSuperClass
31658,
31280
};
Items = new int[]
_items = new int[]
{
7080,
7522,
@@ -56,39 +56,39 @@ public class Q085_SagaOfTheCardinal extends SagasSuperClass
7087,
0
};
Mob = new int[]
_mob = new int[]
{
27267,
27234,
27274
};
classid = new int[]
_classId = new int[]
{
97
};
prevclass = new int[]
_prevClass = new int[]
{
0x10
};
X = new int[]
_x = new int[]
{
119518,
181215,
181227
};
Y = new int[]
_y = new int[]
{
-28658,
36676,
36703
};
Z = new int[]
_z = new int[]
{
-3811,
-4812,
-4816
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q086_SagaOfTheHierophant extends SagasSuperClass
public Q086_SagaOfTheHierophant()
{
super(86, "Saga of the Hierophant");
NPC = new int[]
_npc = new int[]
{
30191,
31626,
@@ -41,7 +41,7 @@ public class Q086_SagaOfTheHierophant extends SagasSuperClass
31659,
31280
};
Items = new int[]
_items = new int[]
{
7080,
7523,
@@ -56,39 +56,39 @@ public class Q086_SagaOfTheHierophant extends SagasSuperClass
7089,
0
};
Mob = new int[]
_mob = new int[]
{
27269,
27235,
27275
};
classid = new int[]
_classId = new int[]
{
98
};
prevclass = new int[]
_prevClass = new int[]
{
0x11
};
X = new int[]
_x = new int[]
{
161719,
124355,
124376
};
Y = new int[]
_y = new int[]
{
-92823,
82155,
82127
};
Z = new int[]
_z = new int[]
{
-1893,
-2803,
-2796
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q087_SagaOfEvasSaint extends SagasSuperClass
public Q087_SagaOfEvasSaint()
{
super(87, "Saga of Eva's Saint");
NPC = new int[]
_npc = new int[]
{
30191,
31626,
@@ -41,7 +41,7 @@ public class Q087_SagaOfEvasSaint extends SagasSuperClass
31657,
31280
};
Items = new int[]
_items = new int[]
{
7080,
7524,
@@ -56,39 +56,39 @@ public class Q087_SagaOfEvasSaint extends SagasSuperClass
7088,
0
};
Mob = new int[]
_mob = new int[]
{
27266,
27236,
27276
};
classid = new int[]
_classId = new int[]
{
105
};
prevclass = new int[]
_prevClass = new int[]
{
0x1e
};
X = new int[]
_x = new int[]
{
164650,
46087,
46066
};
Y = new int[]
_y = new int[]
{
-74121,
-36372,
-36396
};
Z = new int[]
_z = new int[]
{
-2871,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q088_SagaOfTheArchmage extends SagasSuperClass
public Q088_SagaOfTheArchmage()
{
super(88, "Saga of the Archmage");
NPC = new int[]
_npc = new int[]
{
30176,
31627,
@@ -41,7 +41,7 @@ public class Q088_SagaOfTheArchmage extends SagasSuperClass
31657,
31282
};
Items = new int[]
_items = new int[]
{
7080,
7529,
@@ -56,39 +56,39 @@ public class Q088_SagaOfTheArchmage extends SagasSuperClass
7082,
0
};
Mob = new int[]
_mob = new int[]
{
27250,
27237,
27254
};
classid = new int[]
_classId = new int[]
{
94
};
prevclass = new int[]
_prevClass = new int[]
{
0x0c
};
X = new int[]
_x = new int[]
{
191046,
46066,
46087
};
Y = new int[]
_y = new int[]
{
-40640,
-36396,
-36372
};
Z = new int[]
_z = new int[]
{
-3042,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q089_SagaOfTheMysticMuse extends SagasSuperClass
public Q089_SagaOfTheMysticMuse()
{
super(89, "Saga of the Mystic Muse");
NPC = new int[]
_npc = new int[]
{
30174,
31627,
@@ -41,7 +41,7 @@ public class Q089_SagaOfTheMysticMuse extends SagasSuperClass
31658,
31283
};
Items = new int[]
_items = new int[]
{
7080,
7530,
@@ -56,39 +56,39 @@ public class Q089_SagaOfTheMysticMuse extends SagasSuperClass
7083,
0
};
Mob = new int[]
_mob = new int[]
{
27251,
27238,
27255
};
classid = new int[]
_classId = new int[]
{
103
};
prevclass = new int[]
_prevClass = new int[]
{
0x1b
};
X = new int[]
_x = new int[]
{
119518,
181227,
181215
};
Y = new int[]
_y = new int[]
{
-28658,
36703,
36676
};
Z = new int[]
_z = new int[]
{
-3811,
-4816,
-4812
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q090_SagaOfTheStormScreamer extends SagasSuperClass
public Q090_SagaOfTheStormScreamer()
{
super(90, "Saga of the Storm Screamer");
NPC = new int[]
_npc = new int[]
{
30175,
31627,
@@ -41,7 +41,7 @@ public class Q090_SagaOfTheStormScreamer extends SagasSuperClass
31659,
31287
};
Items = new int[]
_items = new int[]
{
7080,
7531,
@@ -56,39 +56,39 @@ public class Q090_SagaOfTheStormScreamer extends SagasSuperClass
7084,
0
};
Mob = new int[]
_mob = new int[]
{
27252,
27239,
27256
};
classid = new int[]
_classId = new int[]
{
110
};
prevclass = new int[]
_prevClass = new int[]
{
0x28
};
X = new int[]
_x = new int[]
{
161719,
124376,
124355
};
Y = new int[]
_y = new int[]
{
-92823,
82127,
82155
};
Z = new int[]
_z = new int[]
{
-1893,
-2796,
-2803
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -26,7 +26,7 @@ public class Q091_SagaOfTheArcanaLord extends SagasSuperClass
public Q091_SagaOfTheArcanaLord()
{
super(91, "Saga of the Arcana Lord");
NPC = new int[]
_npc = new int[]
{
31605,
31622,
@@ -41,7 +41,7 @@ public class Q091_SagaOfTheArcanaLord extends SagasSuperClass
31658,
31608
};
Items = new int[]
_items = new int[]
{
7080,
7604,
@@ -56,39 +56,39 @@ public class Q091_SagaOfTheArcanaLord extends SagasSuperClass
7110,
0
};
Mob = new int[]
_mob = new int[]
{
27313,
27240,
27310
};
classid = new int[]
_classId = new int[]
{
96
};
prevclass = new int[]
_prevClass = new int[]
{
0x0e
};
X = new int[]
_x = new int[]
{
119518,
181215,
181227
};
Y = new int[]
_y = new int[]
{
-28658,
36676,
36703
};
Z = new int[]
_z = new int[]
{
-3811,
-4812,
-4816
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q092_SagaOfTheElementalMaster extends SagasSuperClass
public Q092_SagaOfTheElementalMaster()
{
super(92, "Saga of the Elemental Master");
NPC = new int[]
_npc = new int[]
{
30174,
31281,
@@ -42,7 +42,7 @@ public class Q092_SagaOfTheElementalMaster extends SagasSuperClass
31659,
31614
};
Items = new int[]
_items = new int[]
{
7080,
7605,
@@ -57,39 +57,39 @@ public class Q092_SagaOfTheElementalMaster extends SagasSuperClass
7111,
0
};
Mob = new int[]
_mob = new int[]
{
27314,
27241,
27311
};
classid = new int[]
_classId = new int[]
{
104
};
prevclass = new int[]
_prevClass = new int[]
{
0x1c
};
X = new int[]
_x = new int[]
{
161719,
124376,
124355
};
Y = new int[]
_y = new int[]
{
-92823,
82127,
82155
};
Z = new int[]
_z = new int[]
{
-1893,
-2796,
-2803
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q093_SagaOfTheSpectralMaster extends SagasSuperClass
public Q093_SagaOfTheSpectralMaster()
{
super(93, "Saga of the Spectral Master");
NPC = new int[]
_npc = new int[]
{
30175,
31287,
@@ -42,7 +42,7 @@ public class Q093_SagaOfTheSpectralMaster extends SagasSuperClass
31656,
31613
};
Items = new int[]
_items = new int[]
{
7080,
7606,
@@ -57,39 +57,39 @@ public class Q093_SagaOfTheSpectralMaster extends SagasSuperClass
7112,
0
};
Mob = new int[]
_mob = new int[]
{
27315,
27242,
27312
};
classid = new int[]
_classId = new int[]
{
111
};
prevclass = new int[]
_prevClass = new int[]
{
0x29
};
X = new int[]
_x = new int[]
{
164650,
47429,
47391
};
Y = new int[]
_y = new int[]
{
-74121,
-56923,
-56929
};
Z = new int[]
_z = new int[]
{
-2871,
-2383,
-2370
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q094_SagaOfTheSoultaker extends SagasSuperClass
public Q094_SagaOfTheSoultaker()
{
super(94, "Saga of the Soultaker");
NPC = new int[]
_npc = new int[]
{
30832,
31623,
@@ -42,7 +42,7 @@ public class Q094_SagaOfTheSoultaker extends SagasSuperClass
31657,
31279
};
Items = new int[]
_items = new int[]
{
7080,
7533,
@@ -57,39 +57,39 @@ public class Q094_SagaOfTheSoultaker extends SagasSuperClass
7085,
0
};
Mob = new int[]
_mob = new int[]
{
27257,
27243,
27265
};
classid = new int[]
_classId = new int[]
{
95
};
prevclass = new int[]
_prevClass = new int[]
{
0x0d
};
X = new int[]
_x = new int[]
{
191046,
46066,
46087
};
Y = new int[]
_y = new int[]
{
-40640,
-36396,
-36372
};
Z = new int[]
_z = new int[]
{
-3042,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q095_SagaOfTheHellKnight extends SagasSuperClass
public Q095_SagaOfTheHellKnight()
{
super(95, "Saga of the Hell Knight");
NPC = new int[]
_npc = new int[]
{
31582,
31623,
@@ -42,7 +42,7 @@ public class Q095_SagaOfTheHellKnight extends SagasSuperClass
31656,
31297
};
Items = new int[]
_items = new int[]
{
7080,
7532,
@@ -57,39 +57,39 @@ public class Q095_SagaOfTheHellKnight extends SagasSuperClass
7086,
0
};
Mob = new int[]
_mob = new int[]
{
27258,
27244,
27263
};
classid = new int[]
_classId = new int[]
{
91
};
prevclass = new int[]
_prevClass = new int[]
{
0x06
};
X = new int[]
_x = new int[]
{
164650,
47391,
47429
};
Y = new int[]
_y = new int[]
{
-74121,
-56929,
-56923
};
Z = new int[]
_z = new int[]
{
-2871,
-2370,
-2383
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q096_SagaOfTheSpectralDancer extends SagasSuperClass
public Q096_SagaOfTheSpectralDancer()
{
super(96, "Saga of the Spectral Dancer");
NPC = new int[]
_npc = new int[]
{
31582,
31623,
@@ -42,7 +42,7 @@ public class Q096_SagaOfTheSpectralDancer extends SagasSuperClass
31656,
31284
};
Items = new int[]
_items = new int[]
{
7080,
7527,
@@ -57,39 +57,39 @@ public class Q096_SagaOfTheSpectralDancer extends SagasSuperClass
7092,
0
};
Mob = new int[]
_mob = new int[]
{
27272,
27245,
27264
};
classid = new int[]
_classId = new int[]
{
107
};
prevclass = new int[]
_prevClass = new int[]
{
0x22
};
X = new int[]
_x = new int[]
{
164650,
47429,
47391
};
Y = new int[]
_y = new int[]
{
-74121,
-56923,
-56929
};
Z = new int[]
_z = new int[]
{
-2871,
-2383,
-2370
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q097_SagaOfTheShillienTemplar extends SagasSuperClass
public Q097_SagaOfTheShillienTemplar()
{
super(97, "Saga of the Shillien Templar");
NPC = new int[]
_npc = new int[]
{
31580,
31623,
@@ -42,7 +42,7 @@ public class Q097_SagaOfTheShillienTemplar extends SagasSuperClass
31659,
31285
};
Items = new int[]
_items = new int[]
{
7080,
7526,
@@ -57,39 +57,39 @@ public class Q097_SagaOfTheShillienTemplar extends SagasSuperClass
7091,
0
};
Mob = new int[]
_mob = new int[]
{
27271,
27246,
27273
};
classid = new int[]
_classId = new int[]
{
106
};
prevclass = new int[]
_prevClass = new int[]
{
0x21
};
X = new int[]
_x = new int[]
{
161719,
124355,
124376
};
Y = new int[]
_y = new int[]
{
-92823,
82155,
82127
};
Z = new int[]
_z = new int[]
{
-1893,
-2803,
-2796
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q098_SagaOfTheShillienSaint extends SagasSuperClass
public Q098_SagaOfTheShillienSaint()
{
super(98, "Saga of the Shillien Saint");
NPC = new int[]
_npc = new int[]
{
31581,
31626,
@@ -42,7 +42,7 @@ public class Q098_SagaOfTheShillienSaint extends SagasSuperClass
31658,
31287
};
Items = new int[]
_items = new int[]
{
7080,
7525,
@@ -57,39 +57,39 @@ public class Q098_SagaOfTheShillienSaint extends SagasSuperClass
7090,
0
};
Mob = new int[]
_mob = new int[]
{
27270,
27247,
27277
};
classid = new int[]
_classId = new int[]
{
112
};
prevclass = new int[]
_prevClass = new int[]
{
0x2b
};
X = new int[]
_x = new int[]
{
119518,
181215,
181227
};
Y = new int[]
_y = new int[]
{
-28658,
36676,
36703
};
Z = new int[]
_z = new int[]
{
-3811,
-4812,
-4816
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q099_SagaOfTheFortuneSeeker extends SagasSuperClass
public Q099_SagaOfTheFortuneSeeker()
{
super(99, "Saga of the Fortune Seeker");
NPC = new int[]
_npc = new int[]
{
31594,
31623,
@@ -42,7 +42,7 @@ public class Q099_SagaOfTheFortuneSeeker extends SagasSuperClass
31657,
31600
};
Items = new int[]
_items = new int[]
{
7080,
7608,
@@ -57,39 +57,39 @@ public class Q099_SagaOfTheFortuneSeeker extends SagasSuperClass
7109,
0
};
Mob = new int[]
_mob = new int[]
{
27259,
27248,
27309
};
classid = new int[]
_classId = new int[]
{
117
};
prevclass = new int[]
_prevClass = new int[]
{
0x37
};
X = new int[]
_x = new int[]
{
191046,
46066,
46087
};
Y = new int[]
_y = new int[]
{
-40640,
-36396,
-36372
};
Z = new int[]
_z = new int[]
{
-3042,
-1685,
-1685
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -27,7 +27,7 @@ public class Q100_SagaOfTheMaestro extends SagasSuperClass
public Q100_SagaOfTheMaestro()
{
super(100, "Saga of the Maestro");
NPC = new int[]
_npc = new int[]
{
31592,
31273,
@@ -42,7 +42,7 @@ public class Q100_SagaOfTheMaestro extends SagasSuperClass
31656,
31597
};
Items = new int[]
_items = new int[]
{
7080,
7607,
@@ -57,39 +57,39 @@ public class Q100_SagaOfTheMaestro extends SagasSuperClass
7108,
0
};
Mob = new int[]
_mob = new int[]
{
27260,
27249,
27308
};
classid = new int[]
_classId = new int[]
{
118
};
prevclass = new int[]
_prevClass = new int[]
{
0x39
};
X = new int[]
_x = new int[]
{
164650,
47429,
47391
};
Y = new int[]
_y = new int[]
{
-74121,
-56923,
-56929
};
Z = new int[]
_z = new int[]
{
-2871,
-2383,
-2370
};
Text = new String[]
_text = new String[]
{
"PLAYERNAME! Pursued to here! However, I jumped out of the Banshouren boundaries! You look at the giant as the sign of power!",
"... Oh ... good! So it was ... let's begin!",

View File

@@ -258,12 +258,9 @@ public class Q111_ElrokianHuntersProof extends Quest
case 22201:
case 22202:
case 22219:
if ((st.getInt("cond") == 10) && st.dropItems(CLAW, 1, 10, 650000))
if ((st.getInt("cond") == 10) && st.dropItems(CLAW, 1, 10, 650000) && (st.getQuestItemsCount(BONE) >= 10) && (st.getQuestItemsCount(SKIN) >= 10))
{
if ((st.getQuestItemsCount(BONE) >= 10) && (st.getQuestItemsCount(SKIN) >= 10))
{
st.set("cond", "11");
}
st.set("cond", "11");
}
break;
@@ -271,12 +268,9 @@ public class Q111_ElrokianHuntersProof extends Quest
case 22209:
case 22210:
case 22221:
if ((st.getInt("cond") == 10) && st.dropItems(SKIN, 1, 10, 650000))
if ((st.getInt("cond") == 10) && st.dropItems(SKIN, 1, 10, 650000) && (st.getQuestItemsCount(CLAW) >= 10) && (st.getQuestItemsCount(BONE) >= 10))
{
if ((st.getQuestItemsCount(CLAW) >= 10) && (st.getQuestItemsCount(BONE) >= 10))
{
st.set("cond", "11");
}
st.set("cond", "11");
}
break;
@@ -284,12 +278,9 @@ public class Q111_ElrokianHuntersProof extends Quest
case 22204:
case 22205:
case 22220:
if ((st.getInt("cond") == 10) && st.dropItems(BONE, 1, 10, 650000))
if ((st.getInt("cond") == 10) && st.dropItems(BONE, 1, 10, 650000) && (st.getQuestItemsCount(CLAW) >= 10) && (st.getQuestItemsCount(SKIN) >= 10))
{
if ((st.getQuestItemsCount(CLAW) >= 10) && (st.getQuestItemsCount(SKIN) >= 10))
{
st.set("cond", "11");
}
st.set("cond", "11");
}
break;
}

View File

@@ -281,22 +281,16 @@ public class Q125_TheNameOfEvil_1 extends Quest
final int npcId = npc.getNpcId();
if (Util.contains(ORNITHOMIMUS, npcId))
{
if (st.dropItems(ORNITHOMIMUS_CLAW, 1, 2, 50000))
if (st.dropItems(ORNITHOMIMUS_CLAW, 1, 2, 50000) && (st.getQuestItemsCount(DEINONYCHUS_BONE) == 2))
{
if (st.getQuestItemsCount(DEINONYCHUS_BONE) == 2)
{
st.set("cond", "4");
}
st.set("cond", "4");
}
}
else if (Util.contains(DEINONYCHUS, npcId))
{
if (st.dropItems(DEINONYCHUS_BONE, 1, 2, 50000))
if (st.dropItems(DEINONYCHUS_BONE, 1, 2, 50000) && (st.getQuestItemsCount(ORNITHOMIMUS_CLAW) == 2))
{
if (st.getQuestItemsCount(ORNITHOMIMUS_CLAW) == 2)
{
st.set("cond", "4");
}
st.set("cond", "4");
}
}
return null;

View File

@@ -816,32 +816,23 @@ public class Q214_TrialOfTheScholar extends Quest
case SHACKLE_1:
case SHACKLE_2:
if ((st.getInt("cond") == 16) && st.dropItems(SHACKLE_SCALP, 1, 2, 500000))
if ((st.getInt("cond") == 16) && st.dropItems(SHACKLE_SCALP, 1, 2, 500000) && (st.getQuestItemsCount(MONSTER_EYE_DESTROYER_SKIN) == 5) && (st.getQuestItemsCount(SHAMAN_NECKLACE) == 5))
{
if ((st.getQuestItemsCount(MONSTER_EYE_DESTROYER_SKIN) == 5) && (st.getQuestItemsCount(SHAMAN_NECKLACE) == 5))
{
st.set("cond", "17");
}
st.set("cond", "17");
}
break;
case MONSTER_EYE_DESTROYER:
if ((st.getInt("cond") == 16) && st.dropItems(MONSTER_EYE_DESTROYER_SKIN, 1, 5, 500000))
if ((st.getInt("cond") == 16) && st.dropItems(MONSTER_EYE_DESTROYER_SKIN, 1, 5, 500000) && (st.getQuestItemsCount(SHACKLE_SCALP) == 2) && (st.getQuestItemsCount(SHAMAN_NECKLACE) == 5))
{
if ((st.getQuestItemsCount(SHACKLE_SCALP) == 2) && (st.getQuestItemsCount(SHAMAN_NECKLACE) == 5))
{
st.set("cond", "17");
}
st.set("cond", "17");
}
break;
case BREKA_ORC_SHAMAN:
if ((st.getInt("cond") == 16) && st.dropItems(SHAMAN_NECKLACE, 1, 5, 500000))
if ((st.getInt("cond") == 16) && st.dropItems(SHAMAN_NECKLACE, 1, 5, 500000) && (st.getQuestItemsCount(SHACKLE_SCALP) == 2) && (st.getQuestItemsCount(MONSTER_EYE_DESTROYER_SKIN) == 5))
{
if ((st.getQuestItemsCount(SHACKLE_SCALP) == 2) && (st.getQuestItemsCount(MONSTER_EYE_DESTROYER_SKIN) == 5))
{
st.set("cond", "17");
}
st.set("cond", "17");
}
break;
@@ -853,42 +844,30 @@ public class Q214_TrialOfTheScholar extends Quest
break;
case MEDUSA:
if ((st.getInt("cond") == 28) && st.dropItemsAlways(MEDUSA_BLOOD, 1, 12))
if ((st.getInt("cond") == 28) && st.dropItemsAlways(MEDUSA_BLOOD, 1, 12) && (st.getQuestItemsCount(GHOUL_SKIN) == 10) && (st.getQuestItemsCount(FETTERED_SOUL_ICHOR) == 5) && (st.getQuestItemsCount(ENCHANTED_GARGOYLE_NAIL) == 5))
{
if ((st.getQuestItemsCount(GHOUL_SKIN) == 10) && (st.getQuestItemsCount(FETTERED_SOUL_ICHOR) == 5) && (st.getQuestItemsCount(ENCHANTED_GARGOYLE_NAIL) == 5))
{
st.set("cond", "29");
}
st.set("cond", "29");
}
break;
case GHOUL:
if ((st.getInt("cond") == 28) && st.dropItemsAlways(GHOUL_SKIN, 1, 10))
if ((st.getInt("cond") == 28) && st.dropItemsAlways(GHOUL_SKIN, 1, 10) && (st.getQuestItemsCount(MEDUSA_BLOOD) == 12) && (st.getQuestItemsCount(FETTERED_SOUL_ICHOR) == 5) && (st.getQuestItemsCount(ENCHANTED_GARGOYLE_NAIL) == 5))
{
if ((st.getQuestItemsCount(MEDUSA_BLOOD) == 12) && (st.getQuestItemsCount(FETTERED_SOUL_ICHOR) == 5) && (st.getQuestItemsCount(ENCHANTED_GARGOYLE_NAIL) == 5))
{
st.set("cond", "29");
}
st.set("cond", "29");
}
break;
case FETTERED_SOUL:
if ((st.getInt("cond") == 28) && st.dropItemsAlways(FETTERED_SOUL_ICHOR, 1, 5))
if ((st.getInt("cond") == 28) && st.dropItemsAlways(FETTERED_SOUL_ICHOR, 1, 5) && (st.getQuestItemsCount(MEDUSA_BLOOD) == 12) && (st.getQuestItemsCount(GHOUL_SKIN) == 10) && (st.getQuestItemsCount(ENCHANTED_GARGOYLE_NAIL) == 5))
{
if ((st.getQuestItemsCount(MEDUSA_BLOOD) == 12) && (st.getQuestItemsCount(GHOUL_SKIN) == 10) && (st.getQuestItemsCount(ENCHANTED_GARGOYLE_NAIL) == 5))
{
st.set("cond", "29");
}
st.set("cond", "29");
}
break;
case ENCHANTED_GARGOYLE:
if ((st.getInt("cond") == 28) && st.dropItemsAlways(ENCHANTED_GARGOYLE_NAIL, 1, 5))
if ((st.getInt("cond") == 28) && st.dropItemsAlways(ENCHANTED_GARGOYLE_NAIL, 1, 5) && (st.getQuestItemsCount(MEDUSA_BLOOD) == 12) && (st.getQuestItemsCount(GHOUL_SKIN) == 10) && (st.getQuestItemsCount(FETTERED_SOUL_ICHOR) == 5))
{
if ((st.getQuestItemsCount(MEDUSA_BLOOD) == 12) && (st.getQuestItemsCount(GHOUL_SKIN) == 10) && (st.getQuestItemsCount(FETTERED_SOUL_ICHOR) == 5))
{
st.set("cond", "29");
}
st.set("cond", "29");
}
break;
}

View File

@@ -446,12 +446,9 @@ public class Q216_TrialOfTheGuildsman extends Quest
if (st.hasQuestItems(PINTER_INSTRUCTIONS))
{
// Different cases if player is a wannabe BH or WS.
if (st.dropItemsAlways(AMBER_BEAD, ((player.getClassId() == ClassId.SCAVENGER) && (npc.getIsSpoiledBy() == player.getObjectId())) ? 10 : 5, 70))
if (st.dropItemsAlways(AMBER_BEAD, ((player.getClassId() == ClassId.SCAVENGER) && (npc.getIsSpoiledBy() == player.getObjectId())) ? 10 : 5, 70) && (player.getClassId() == ClassId.ARTISAN) && Rnd.nextBoolean())
{
if ((player.getClassId() == ClassId.ARTISAN) && Rnd.nextBoolean())
{
st.giveItems(AMBER_LUMP, 1);
}
st.giveItems(AMBER_LUMP, 1);
}
}
break;

View File

@@ -492,22 +492,16 @@ public class Q218_TestimonyOfLife extends Quest
switch (npc.getNpcId())
{
case 20550:
if ((st.getInt("cond") == 4) && st.dropItems(PURE_MITHRIL_ORE, 1, 10, 500000))
if ((st.getInt("cond") == 4) && st.dropItems(PURE_MITHRIL_ORE, 1, 10, 500000) && (st.getQuestItemsCount(WYRM_TALON) >= 20) && (st.getQuestItemsCount(ANT_SOLDIER_ACID) >= 20))
{
if ((st.getQuestItemsCount(WYRM_TALON) >= 20) && (st.getQuestItemsCount(ANT_SOLDIER_ACID) >= 20))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;
case 20176:
if ((st.getInt("cond") == 4) && st.dropItems(WYRM_TALON, 1, 20, 500000))
if ((st.getInt("cond") == 4) && st.dropItems(WYRM_TALON, 1, 20, 500000) && (st.getQuestItemsCount(PURE_MITHRIL_ORE) >= 10) && (st.getQuestItemsCount(ANT_SOLDIER_ACID) >= 20))
{
if ((st.getQuestItemsCount(PURE_MITHRIL_ORE) >= 10) && (st.getQuestItemsCount(ANT_SOLDIER_ACID) >= 20))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;
@@ -516,12 +510,9 @@ public class Q218_TestimonyOfLife extends Quest
case 20086:
case 20087:
case 20088:
if ((st.getInt("cond") == 4) && st.dropItems(ANT_SOLDIER_ACID, 1, 20, 800000))
if ((st.getInt("cond") == 4) && st.dropItems(ANT_SOLDIER_ACID, 1, 20, 800000) && (st.getQuestItemsCount(PURE_MITHRIL_ORE) >= 10) && (st.getQuestItemsCount(WYRM_TALON) >= 20))
{
if ((st.getQuestItemsCount(PURE_MITHRIL_ORE) >= 10) && (st.getQuestItemsCount(WYRM_TALON) >= 20))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;

View File

@@ -551,33 +551,24 @@ public class Q219_TestimonyOfFate extends Quest
break;
case DEAD_SEEKER:
if ((st.getInt("cond") == 6) && st.dropItems(DEAD_SEEKER_DUNG, 1, 10, CHANCES.get(npcId)))
if ((st.getInt("cond") == 6) && st.dropItems(DEAD_SEEKER_DUNG, 1, 10, CHANCES.get(npcId)) && (st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
if ((st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;
case TYRANT:
case TYRANT_KINGPIN:
if ((st.getInt("cond") == 6) && st.dropItems(TYRANT_BLOOD, 1, 10, CHANCES.get(npcId)))
if ((st.getInt("cond") == 6) && st.dropItems(TYRANT_BLOOD, 1, 10, CHANCES.get(npcId)) && (st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
if ((st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;
case MEDUSA:
if ((st.getInt("cond") == 6) && st.dropItems(MEDUSA_ICHOR, 1, 10, CHANCES.get(npcId)))
if ((st.getInt("cond") == 6) && st.dropItems(MEDUSA_ICHOR, 1, 10, CHANCES.get(npcId)) && (st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
if ((st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;
@@ -585,22 +576,16 @@ public class Q219_TestimonyOfFate extends Quest
case MARSH_STAKATO_WORKER:
case MARSH_STAKATO_SOLDIER:
case MARSH_STAKATO_DRONE:
if ((st.getInt("cond") == 6) && st.dropItems(NIGHTSHADE_ROOT, 1, 10, CHANCES.get(npcId)))
if ((st.getInt("cond") == 6) && st.dropItems(NIGHTSHADE_ROOT, 1, 10, CHANCES.get(npcId)) && (st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
if ((st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(MARSH_SPIDER_FLUIDS) >= 10))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;
case MARSH_SPIDER:
if ((st.getInt("cond") == 6) && st.dropItems(MARSH_SPIDER_FLUIDS, 1, 10, CHANCES.get(npcId)))
if ((st.getInt("cond") == 6) && st.dropItems(MARSH_SPIDER_FLUIDS, 1, 10, CHANCES.get(npcId)) && (st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10))
{
if ((st.getQuestItemsCount(DEAD_SEEKER_DUNG) >= 10) && (st.getQuestItemsCount(TYRANT_BLOOD) >= 10) && (st.getQuestItemsCount(MEDUSA_ICHOR) >= 10) && (st.getQuestItemsCount(NIGHTSHADE_ROOT) >= 10))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;

View File

@@ -233,102 +233,72 @@ public class Q222_TestOfTheDuelist extends Quest
switch (npc.getNpcId())
{
case PUNCHER:
if (st.dropItemsAlways(PUNCHER_SHARD, 1, 10))
if (st.dropItemsAlways(PUNCHER_SHARD, 1, 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case NOBLE_ANT_LEADER:
if (st.dropItemsAlways(NOBLE_ANT_FEELER, 1, 10))
if (st.dropItemsAlways(NOBLE_ANT_FEELER, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case MARSH_STAKATO_DRONE:
if (st.dropItemsAlways(DRONE_CHITIN, 1, 10))
if (st.dropItemsAlways(DRONE_CHITIN, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case DEAD_SEEKER:
if (st.dropItemsAlways(DEAD_SEEKER_FANG, 1, 10))
if (st.dropItemsAlways(DEAD_SEEKER_FANG, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case BREKA_ORC_OVERLORD:
if (st.dropItemsAlways(OVERLORD_NECKLACE, 1, 10))
if (st.dropItemsAlways(OVERLORD_NECKLACE, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case FETTERED_SOUL:
if (st.dropItemsAlways(FETTERED_SOUL_CHAIN, 1, 10))
if (st.dropItemsAlways(FETTERED_SOUL_CHAIN, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case LETO_LIZARDMAN_OVERLORD:
if (st.dropItemsAlways(CHIEF_AMULET, 1, 10))
if (st.dropItemsAlways(CHIEF_AMULET, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case ENCHANTED_MONSTEREYE:
if (st.dropItemsAlways(ENCHANTED_EYE_MEAT, 1, 10))
if (st.dropItemsAlways(ENCHANTED_EYE_MEAT, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case TAMLIN_ORC:
if (st.dropItemsAlways(TAMRIN_ORC_RING, 1, 10))
if (st.dropItemsAlways(TAMRIN_ORC_RING, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_ARROW) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
case TAMLIN_ORC_ARCHER:
if (st.dropItemsAlways(TAMRIN_ORC_ARROW, 1, 10))
if (st.dropItemsAlways(TAMRIN_ORC_ARROW, 1, 10) && (st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10))
{
if ((st.getQuestItemsCount(PUNCHER_SHARD) >= 10) && (st.getQuestItemsCount(NOBLE_ANT_FEELER) >= 10) && (st.getQuestItemsCount(DRONE_CHITIN) >= 10) && (st.getQuestItemsCount(DEAD_SEEKER_FANG) >= 10) && (st.getQuestItemsCount(OVERLORD_NECKLACE) >= 10) && (st.getQuestItemsCount(FETTERED_SOUL_CHAIN) >= 10) && (st.getQuestItemsCount(CHIEF_AMULET) >= 10) && (st.getQuestItemsCount(ENCHANTED_EYE_MEAT) >= 10) && (st.getQuestItemsCount(TAMRIN_ORC_RING) >= 10))
{
st.set("cond", "3");
}
st.set("cond", "3");
}
break;
}
@@ -338,52 +308,37 @@ public class Q222_TestOfTheDuelist extends Quest
switch (npc.getNpcId())
{
case EXCURO:
if (st.dropItemsAlways(EXCURO_SKIN, 1, 3))
if (st.dropItemsAlways(EXCURO_SKIN, 1, 3) && (st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
if ((st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;
case KRATOR:
if (st.dropItemsAlways(KRATOR_SHARD, 1, 3))
if (st.dropItemsAlways(KRATOR_SHARD, 1, 3) && (st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
if ((st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;
case LAKIN:
if (st.dropItemsAlways(LAKIN_MACE, 1, 3))
if (st.dropItemsAlways(LAKIN_MACE, 1, 3) && (st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
if ((st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;
case GRANDIS:
if (st.dropItemsAlways(GRANDIS_SKIN, 1, 3))
if (st.dropItemsAlways(GRANDIS_SKIN, 1, 3) && (st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
if ((st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(TIMAK_ORC_BELT) >= 3))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;
case TIMAK_ORC_OVERLORD:
if (st.dropItemsAlways(TIMAK_ORC_BELT, 1, 3))
if (st.dropItemsAlways(TIMAK_ORC_BELT, 1, 3) && (st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3))
{
if ((st.getQuestItemsCount(EXCURO_SKIN) >= 3) && (st.getQuestItemsCount(KRATOR_SHARD) >= 3) && (st.getQuestItemsCount(LAKIN_MACE) >= 3) && (st.getQuestItemsCount(GRANDIS_SKIN) >= 3))
{
st.set("cond", "5");
}
st.set("cond", "5");
}
break;
}

View File

@@ -407,32 +407,23 @@ public class Q223_TestOfTheChampion extends Quest
case HARPY:
case HARPY_MATRIARCH:
if ((st.getInt("cond") == 6) && st.dropItems(HARPY_EGG, 1, 30, 500000))
if ((st.getInt("cond") == 6) && st.dropItems(HARPY_EGG, 1, 30, 500000) && (st.getQuestItemsCount(MEDUSA_VENOM) == 30) && (st.getQuestItemsCount(WINDSUS_BILE) == 30))
{
if ((st.getQuestItemsCount(MEDUSA_VENOM) == 30) && (st.getQuestItemsCount(WINDSUS_BILE) == 30))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;
case MEDUSA:
if ((st.getInt("cond") == 6) && st.dropItems(MEDUSA_VENOM, 1, 30, 500000))
if ((st.getInt("cond") == 6) && st.dropItems(MEDUSA_VENOM, 1, 30, 500000) && (st.getQuestItemsCount(HARPY_EGG) == 30) && (st.getQuestItemsCount(WINDSUS_BILE) == 30))
{
if ((st.getQuestItemsCount(HARPY_EGG) == 30) && (st.getQuestItemsCount(WINDSUS_BILE) == 30))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;
case WINDSUS:
if ((st.getInt("cond") == 6) && st.dropItems(WINDSUS_BILE, 1, 30, 500000))
if ((st.getInt("cond") == 6) && st.dropItems(WINDSUS_BILE, 1, 30, 500000) && (st.getQuestItemsCount(HARPY_EGG) == 30) && (st.getQuestItemsCount(MEDUSA_VENOM) == 30))
{
if ((st.getQuestItemsCount(HARPY_EGG) == 30) && (st.getQuestItemsCount(MEDUSA_VENOM) == 30))
{
st.set("cond", "7");
}
st.set("cond", "7");
}
break;

View File

@@ -25,8 +25,8 @@ import org.l2jmobius.gameserver.model.quest.State;
public class Q320_BonesTellTheFuture extends Quest
{
// Quest item
private final int BONE_FRAGMENT = 809;
// Item
private static final int BONE_FRAGMENT = 809;
public Q320_BonesTellTheFuture()
{

View File

@@ -229,17 +229,17 @@ public class Q335_TheSongOfTheHunter extends Quest
registerQuestItems(questItems.stream().mapToInt(i -> i).toArray());
}
private static int CalcItemsConds(QuestState st, int[][][] ItemsConds)
private static int CalcItemsConds(QuestState st, int[][][] itemConds)
{
int result = 0;
for (int[][] ItemsCond : ItemsConds)
for (int[][] itemCond : itemConds)
{
int count = 0;
for (int i : ItemsCond[0])
for (int i : itemCond[0])
{
count += st.getQuestItemsCount(i);
}
if (count >= ItemsCond[1][0])
if (count >= itemCond[1][0])
{
++result;
}
@@ -247,11 +247,11 @@ public class Q335_TheSongOfTheHunter extends Quest
return result;
}
private void DelItemsConds(QuestState st, int[][][] ItemsConds)
private void DelItemsConds(QuestState st, int[][][] itemConds)
{
for (int[][] ItemsCond : ItemsConds)
for (int[][] itemCond : itemConds)
{
for (int i : ItemsCond[0])
for (int i : itemCond[0])
{
st.takeItems(i, -1);
}
@@ -270,9 +270,9 @@ public class Q335_TheSongOfTheHunter extends Quest
return -1;
}
private static boolean Blood_Crystal2Adena(QuestState st, int Blood_Crystal_Level)
private static boolean Blood_Crystal2Adena(QuestState st, int bloodCrystalLevel)
{
if (Blood_Crystal_Level < 2)
if (bloodCrystalLevel < 2)
{
return false;
}
@@ -280,7 +280,7 @@ public class Q335_TheSongOfTheHunter extends Quest
{
st.takeItems(i, -1);
}
st.giveItems(57, (3400 * (int) Math.pow(2.0, Blood_Crystal_Level - 2)));
st.giveItems(57, (3400 * (int) Math.pow(2.0, bloodCrystalLevel - 2)));
return true;
}
@@ -327,10 +327,10 @@ public class Q335_TheSongOfTheHunter extends Quest
list[3] = 6 + Rnd.get(6);
list[4] = Rnd.get(12);
}
boolean sort_flag;
boolean sortFlag;
do
{
sort_flag = false;
sortFlag = false;
for (int j = 1; j < list.length; ++j)
{
if (list[j] < list[j - 1])
@@ -338,11 +338,11 @@ public class Q335_TheSongOfTheHunter extends Quest
final int tmp = list[j];
list[j] = list[j - 1];
list[j - 1] = tmp;
sort_flag = true;
sortFlag = true;
}
}
}
while (sort_flag);
while (sortFlag);
int packedlist = 0;
try
{
@@ -350,7 +350,7 @@ public class Q335_TheSongOfTheHunter extends Quest
}
catch (Exception e)
{
e.printStackTrace();
// Ignore.
}
st.set("list", String.valueOf(packedlist));
}
@@ -517,21 +517,21 @@ public class Q335_TheSongOfTheHunter extends Quest
if (event.startsWith("30745-request-") && (state == 2))
{
event = event.replaceFirst("30745-request-", "");
int request_id;
int requestId;
try
{
request_id = Integer.valueOf(event);
requestId = Integer.parseInt(event);
}
catch (Exception e)
{
return null;
}
if (!isValidRequest(request_id))
if (!isValidRequest(requestId))
{
return null;
}
st.giveItems(request_id, 1);
return "30745-" + request_id + ".htm";
st.giveItems(requestId, 1);
return "30745-" + requestId + ".htm";
}
}
return event;
@@ -691,67 +691,64 @@ public class Q335_TheSongOfTheHunter extends Quest
return null;
}
final int npcId = npc.getNpcId();
int[][][] Items_Circle = null;
int[][][] itemsCircle = null;
if (st.getQuestItemsCount(TEST_INSTRUCTIONS1) > 0)
{
Items_Circle = ITEMS_1ST_CIRCLE;
itemsCircle = ITEMS_1ST_CIRCLE;
}
else if (st.getQuestItemsCount(TEST_INSTRUCTIONS2) > 0)
{
Items_Circle = ITEMS_2ND_CIRCLE;
itemsCircle = ITEMS_2ND_CIRCLE;
}
if (Items_Circle != null)
if (itemsCircle != null)
{
for (int[][] ItemsCond : Items_Circle)
for (int[][] itemCond : itemsCircle)
{
for (int i = 2; i < ItemsCond.length; ++i)
for (int i = 2; i < itemCond.length; ++i)
{
if (npcId == ItemsCond[i][0])
if ((npcId == itemCond[i][0]) && (Rnd.get(100) < itemCond[i][1]) && (st.getQuestItemsCount(itemCond[0][0]) < itemCond[1][0]))
{
if ((Rnd.get(100) < ItemsCond[i][1]) && (st.getQuestItemsCount(ItemsCond[0][0]) < ItemsCond[1][0]))
{
st.giveItems(ItemsCond[0][0], 1);
}
st.giveItems(itemCond[0][0], 1);
}
}
}
if (st.getQuestItemsCount(TEST_INSTRUCTIONS1) > 0)
{
final long Hakas_Head_count = st.getQuestItemsCount(HAKAS_HEAD);
final long Jakas_Head_count = st.getQuestItemsCount(JAKAS_HEAD);
final long Markas_Head_count = st.getQuestItemsCount(MARKAS_HEAD);
final long hakasHeadCount = st.getQuestItemsCount(HAKAS_HEAD);
final long jakasHeadCount = st.getQuestItemsCount(JAKAS_HEAD);
final long markasHeadCount = st.getQuestItemsCount(MARKAS_HEAD);
if (npcId == BREKA_ORC_WARRIOR)
{
if ((Hakas_Head_count == 0) && (Rnd.get(100) < 10))
if ((hakasHeadCount == 0) && (Rnd.get(100) < 10))
{
st.addSpawn(BREKA_OVERLORD_HAKA, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 300000);
}
else if ((Jakas_Head_count == 0) && (Rnd.get(100) < 10))
else if ((jakasHeadCount == 0) && (Rnd.get(100) < 10))
{
st.addSpawn(BREKA_OVERLORD_JAKA, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 300000);
}
else if ((Markas_Head_count == 0) && (Rnd.get(100) < 10))
else if ((markasHeadCount == 0) && (Rnd.get(100) < 10))
{
st.addSpawn(BREKA_OVERLORD_MARKA, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 300000);
}
}
else if (npcId == BREKA_OVERLORD_HAKA)
{
if (Hakas_Head_count == 0)
if (hakasHeadCount == 0)
{
st.giveItems(HAKAS_HEAD, 1);
}
}
else if (npcId == BREKA_OVERLORD_JAKA)
{
if (Jakas_Head_count == 0)
if (jakasHeadCount == 0)
{
st.giveItems(JAKAS_HEAD, 1);
}
}
else if (npcId == BREKA_OVERLORD_MARKA)
{
if (Markas_Head_count == 0)
if (markasHeadCount == 0)
{
st.giveItems(MARKAS_HEAD, 1);
}
@@ -861,20 +858,17 @@ public class Q335_TheSongOfTheHunter extends Quest
}
if (request != null)
{
if (request.droplist.containsKey(npcId))
if (request.droplist.containsKey(npcId) && (Rnd.get(100) < request.droplist.get(npcId)) && (st.getQuestItemsCount(request.request_item) < request.request_count))
{
if ((Rnd.get(100) < request.droplist.get(npcId)) && (st.getQuestItemsCount(request.request_item) < request.request_count))
{
st.giveItems(request.request_item, 1);
}
st.giveItems(request.request_item, 1);
}
if (request.spawnlist.containsKey(npcId) && (st.getQuestItemsCount(request.request_item) < request.request_count))
{
final int[] spawn_n_chance = request.spawnlist.get(npcId);
if (Rnd.get(100) < spawn_n_chance[1])
final int[] spawnChance = request.spawnlist.get(npcId);
if (Rnd.get(100) < spawnChance[1])
{
st.addSpawn(spawn_n_chance[0], npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 300000);
if (spawn_n_chance[0] == 27149)
st.addSpawn(spawnChance[0], npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 300000);
if (spawnChance[0] == 27149)
{
npc.broadcastNpcSay("Show me the pretty sparkling things! They're all mine!");
}
@@ -912,25 +906,25 @@ public class Q335_TheSongOfTheHunter extends Quest
text = txt;
}
public Request addDrop(int kill_mob_id, int chance)
public Request addDrop(int killMobId, int chance)
{
droplist.put(kill_mob_id, chance);
droplist.put(killMobId, chance);
return this;
}
public Request addSpawn(int kill_mob_id, int spawn_mob_id, int chance)
public Request addSpawn(int killMobId, int spawnMobId, int chance)
{
try
{
spawnlist.put(kill_mob_id, new int[]
spawnlist.put(killMobId, new int[]
{
spawn_mob_id,
spawnMobId,
chance
});
}
catch (Exception e)
{
e.printStackTrace();
// Ignore.
}
return this;
}

View File

@@ -243,12 +243,9 @@ public class Q340_SubjugationOfLizardmen extends Quest
case 20024:
case 20027:
case 20030:
if (st.getInt("cond") == 3)
if ((st.getInt("cond") == 3) && st.dropItems(HOLY, 1, 1, 100000))
{
if (st.dropItems(HOLY, 1, 1, 100000))
{
st.dropItems(ROSARY, 1, 1, 100000);
}
st.dropItems(ROSARY, 1, 1, 100000);
}
break;

View File

@@ -29,7 +29,7 @@ public class Q358_IllegitimateChildOfAGoddess extends Quest
private static final int SCALE = 5868;
// Reward
private static final int REWARD[] =
private static final int[] REWARD =
{
6329,
6331,

View File

@@ -37,7 +37,7 @@ public class Q359_ForSleeplessDeadmen extends Quest
private static final int DOOM_ARCHER = 21008;
// Reward
private static final int REWARD[] =
private static final int[] REWARD =
{
6341,
6342,

View File

@@ -38,7 +38,7 @@ public class Q367_ElectrifyingRecharge extends Quest
private static final int TITAN_LAMP_5 = 5880;
// Reward
private static final int REWARD[] =
private static final int[] REWARD =
{
4553,
4554,

View File

@@ -29,8 +29,8 @@ import org.l2jmobius.gameserver.model.quest.State;
public class Q373_SupplierOfReagents extends Quest
{
// Variables
private static final String _ingredient = "ingredient";
private static final String _catalyst = "catalyst";
private static final String INGREDIENT = "ingredient";
private static final String CATALYST = "catalyst";
// NPCs
private static final int WESLEY = 30166;
@@ -322,7 +322,7 @@ public class Q373_SupplierOfReagents extends Quest
break;
}
st.set(_ingredient, Integer.toString(regentId));
st.set(INGREDIENT, Integer.toString(regentId));
return htmltext;
}
htmltext = "31149-04.htm";
@@ -337,12 +337,12 @@ public class Q373_SupplierOfReagents extends Quest
return "31149-04.htm";
}
st.set(_catalyst, Integer.toString(catalyst));
st.set(CATALYST, Integer.toString(catalyst));
}
else if (event.startsWith("31149-12-"))
{
int regent = st.getInt(_ingredient);
int catalyst = st.getInt(_catalyst);
int regent = st.getInt(INGREDIENT);
int catalyst = st.getInt(CATALYST);
for (int[] formula : FORMULAS)
{
@@ -367,7 +367,7 @@ public class Q373_SupplierOfReagents extends Quest
st.takeItems(catalyst, 1);
int tempIndex = Integer.parseInt(event.substring(9, 10));
for (int temperature[] : TEMPERATURES)
for (int[] temperature : TEMPERATURES)
{
if (temperature[0] != tempIndex)
{

View File

@@ -167,32 +167,23 @@ public class Q380_BringOutTheFlavorOfIngredients extends Quest
switch (npc.getNpcId())
{
case DIRE_WOLF:
if (st.dropItems(RITRON_FRUIT, 1, 4, 100000))
if (st.dropItems(RITRON_FRUIT, 1, 4, 100000) && (st.getQuestItemsCount(MOON_FACE_FLOWER) == 20) && (st.getQuestItemsCount(LEECH_FLUIDS) == 10))
{
if ((st.getQuestItemsCount(MOON_FACE_FLOWER) == 20) && (st.getQuestItemsCount(LEECH_FLUIDS) == 10))
{
st.set("cond", "2");
}
st.set("cond", "2");
}
break;
case KADIF_WEREWOLF:
if (st.dropItems(MOON_FACE_FLOWER, 1, 20, 500000))
if (st.dropItems(MOON_FACE_FLOWER, 1, 20, 500000) && (st.getQuestItemsCount(RITRON_FRUIT) == 4) && (st.getQuestItemsCount(LEECH_FLUIDS) == 10))
{
if ((st.getQuestItemsCount(RITRON_FRUIT) == 4) && (st.getQuestItemsCount(LEECH_FLUIDS) == 10))
{
st.set("cond", "2");
}
st.set("cond", "2");
}
break;
case GIANT_MIST_LEECH:
if (st.dropItems(LEECH_FLUIDS, 1, 10, 500000))
if (st.dropItems(LEECH_FLUIDS, 1, 10, 500000) && (st.getQuestItemsCount(RITRON_FRUIT) == 4) && (st.getQuestItemsCount(MOON_FACE_FLOWER) == 20))
{
if ((st.getQuestItemsCount(RITRON_FRUIT) == 4) && (st.getQuestItemsCount(MOON_FACE_FLOWER) == 20))
{
st.set("cond", "2");
}
st.set("cond", "2");
}
break;
}

View File

@@ -28,7 +28,7 @@ import org.l2jmobius.gameserver.model.quest.State;
public class Q385_YokeOfThePast extends Quest
{
// NPCs
private static final int GATEKEEPER_ZIGGURAT[] =
private static final int[] GATEKEEPER_ZIGGURAT =
{
31095,
31096,

View File

@@ -173,29 +173,27 @@ public class Q386_StolenDignity extends Quest
}
final Integer chance = DROP_CHANCES.get(npc.getNpcId());
if (chance != null)
if ((chance != null) && (Rnd.get(100) < chance))
{
if (Rnd.get(100) < chance)
{
st.giveItems(STOLEN_INFERIUM_ORE, 1);
}
st.giveItems(STOLEN_INFERIUM_ORE, 1);
}
return null;
}
public static class Bingo extends ai.others.Bingo
{
protected static final String msg_begin = "I've arranged the numbers 1 through 9 on the grid. Don't peek!<br>Let me have the " + REQUIRED_STOLEN_INFERIUM_ORE + " Infernium Ores. Too many players try to run away without paying when it becomes obvious that they're losing...<br>OK, select six numbers between 1 and 9. Choose the %choicenum% number.";
protected static final String msg_again = "You've already chosen that number. Make your %choicenum% choice again.";
protected static final String msg_0lines = "Wow! How unlucky can you get? Your choices are highlighted in red below. As you can see, your choices didn't make a single line! Losing this badly is actually quite rare!<br>You look so sad, I feel bad for you... Wait here... <br>.<br>.<br>.<br>Take this... I hope it will bring you better luck in the future.";
protected static final String msg_3lines = "Excellent! As you can see, you've formed three lines! Congratulations! As promised, I'll give you some unclaimed merchandise from the warehouse. Wait here...<br>.<br>.<br>.<br>Whew, it's dusty! OK, here you go. Do you like it?";
protected static final String msg_lose = "Oh, too bad. Your choices didn't form three lines. You should try again... Your choices are highlighted in red.";
// private static final String template_choice = "<a action=\"bypass -h Quest Q386_StolenDignity choice-%n%\">%n%</a>&nbsp;&nbsp;&nbsp;&nbsp; ";
protected static final String MSG_BEGIN = "I've arranged the numbers 1 through 9 on the grid. Don't peek!<br>Let me have the " + REQUIRED_STOLEN_INFERIUM_ORE + " Infernium Ores. Too many players try to run away without paying when it becomes obvious that they're losing...<br>OK, select six numbers between 1 and 9. Choose the %choicenum% number.";
protected static final String MSG_AGAIN = "You've already chosen that number. Make your %choicenum% choice again.";
protected static final String MSG_ZERO_LINES = "Wow! How unlucky can you get? Your choices are highlighted in red below. As you can see, your choices didn't make a single line! Losing this badly is actually quite rare!<br>You look so sad, I feel bad for you... Wait here... <br>.<br>.<br>.<br>Take this... I hope it will bring you better luck in the future.";
protected static final String MSG_THREE_LINES = "Excellent! As you can see, you've formed three lines! Congratulations! As promised, I'll give you some unclaimed merchandise from the warehouse. Wait here...<br>.<br>.<br>.<br>Whew, it's dusty! OK, here you go. Do you like it?";
protected static final String MSG_LOSE = "Oh, too bad. Your choices didn't form three lines. You should try again... Your choices are highlighted in red.";
private static final String TEMPLATE_CHOICE = "<a action=\"bypass -h Quest Q386_StolenDignity choice-%n%\">%n%</a>&nbsp;&nbsp;&nbsp;&nbsp; ";
private final QuestState _qs;
public Bingo(QuestState qs)
{
super("<a action=\"bypass -h Quest Q386_StolenDignity choice-%n%\">%n%</a>&nbsp;&nbsp;&nbsp;&nbsp; ");
super(TEMPLATE_CHOICE);
_qs = qs;
}

View File

@@ -213,12 +213,9 @@ public class Q401_PathToAWarrior extends Quest
case 20038:
case 20043:
if ((st.getInt("cond") == 5) && (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == RUSTED_BRONZE_SWORD_3))
if ((st.getInt("cond") == 5) && (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == RUSTED_BRONZE_SWORD_3) && st.dropItemsAlways(POISON_SPIDER_LEG, 1, 20))
{
if (st.dropItemsAlways(POISON_SPIDER_LEG, 1, 20))
{
st.set("cond", "6");
}
st.set("cond", "6");
}
break;
}

View File

@@ -409,66 +409,54 @@ public class Q415_PathToAMonk extends Quest
break;
case 20014:
if ((st.getInt("cond") == 11) && st.dropItemsAlways(FELIM_LIZARDMAN_TOOTH, 1, 3))
if ((st.getInt("cond") == 11) && st.dropItemsAlways(FELIM_LIZARDMAN_TOOTH, 1, 3) && (st.getQuestItemsCount(RATMAN_FANG) == 3) && (st.getQuestItemsCount(LANG_KLIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(VUKU_ORC_TUSK) == 3))
{
if ((st.getQuestItemsCount(RATMAN_FANG) == 3) && (st.getQuestItemsCount(LANG_KLIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(VUKU_ORC_TUSK) == 3))
{
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
break;
case 20017:
if ((st.getInt("cond") == 11) && st.dropItemsAlways(VUKU_ORC_TUSK, 1, 3))
if ((st.getInt("cond") == 11) && st.dropItemsAlways(VUKU_ORC_TUSK, 1, 3) && (st.getQuestItemsCount(RATMAN_FANG) == 3) && (st.getQuestItemsCount(LANG_KLIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(FELIM_LIZARDMAN_TOOTH) == 3))
{
if ((st.getQuestItemsCount(RATMAN_FANG) == 3) && (st.getQuestItemsCount(LANG_KLIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(FELIM_LIZARDMAN_TOOTH) == 3))
{
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
break;
case 20024:
if ((st.getInt("cond") == 11) && st.dropItemsAlways(LANG_KLIZARDMAN_TOOTH, 1, 3))
if ((st.getInt("cond") == 11) && st.dropItemsAlways(LANG_KLIZARDMAN_TOOTH, 1, 3) && (st.getQuestItemsCount(RATMAN_FANG) == 3) && (st.getQuestItemsCount(FELIM_LIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(VUKU_ORC_TUSK) == 3))
{
if ((st.getQuestItemsCount(RATMAN_FANG) == 3) && (st.getQuestItemsCount(FELIM_LIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(VUKU_ORC_TUSK) == 3))
{
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
break;
case 20359:
if ((st.getInt("cond") == 11) && st.dropItemsAlways(RATMAN_FANG, 1, 3))
if ((st.getInt("cond") == 11) && st.dropItemsAlways(RATMAN_FANG, 1, 3) && (st.getQuestItemsCount(LANG_KLIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(FELIM_LIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(VUKU_ORC_TUSK) == 3))
{
if ((st.getQuestItemsCount(LANG_KLIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(FELIM_LIZARDMAN_TOOTH) == 3) && (st.getQuestItemsCount(VUKU_ORC_TUSK) == 3))
{
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
st.set("cond", "12");
st.takeItems(VUKU_ORC_TUSK, -1);
st.takeItems(RATMAN_FANG, -1);
st.takeItems(LANG_KLIZARDMAN_TOOTH, -1);
st.takeItems(FELIM_LIZARDMAN_TOOTH, -1);
st.takeItems(LEATHER_POUCH_4, 1);
st.giveItems(LEATHER_POUCH_FULL_4, 1);
}
break;

View File

@@ -309,15 +309,12 @@ public class Q421_LittleWingsBigAdventure extends Quest
final Creature originalKiller = isPet ? killer.getPet() : killer;
// Tree curses the killer.
if (Rnd.get(100) < 30)
if ((Rnd.get(100) < 30) && (originalKiller != null))
{
if (originalKiller != null)
final Skill skill = SkillTable.getInstance().getInfo(4243, 1);
if ((skill != null) && (originalKiller.getFirstEffect(skill) == null))
{
final Skill skill = SkillTable.getInstance().getInfo(4243, 1);
if ((skill != null) && (originalKiller.getFirstEffect(skill) == null))
{
skill.getEffects(npc, originalKiller);
}
skill.getEffects(npc, originalKiller);
}
}

View File

@@ -76,6 +76,7 @@ public class Q501_ProofOfClanAlliance extends Quest
// Drops
private static final Map<Integer, Integer> DROP = new HashMap<>();
static
{
DROP.put(VANOR_SILENOS_SHAMAN, HERB_OF_VANOR);
DROP.put(HARIT_LIZARDMAN_SHAMAN, HERB_OF_HARIT);
@@ -107,6 +108,7 @@ public class Q501_ProofOfClanAlliance extends Quest
// Chests
private static final List<Integer> CHESTS_ID = new ArrayList<>();
static
{
CHESTS_ID.add(BOX_OF_ATHREA_1);
CHESTS_ID.add(BOX_OF_ATHREA_2);
@@ -344,7 +346,7 @@ public class Q501_ProofOfClanAlliance extends Quest
st.takeItems(VOUCHER_OF_FAITH, -1);
st.giveItems(PROOF_OF_ALLIANCE, 1);
st.playSound(QuestState.SOUND_FINISH);
htmltext = getAlreadyCompletedMsg();
// htmltext = getAlreadyCompletedMsg();
st.exitQuest(true);
}
else if (state > 0)

View File

@@ -83,7 +83,7 @@ public class Q503_PursuitOfClanAmbition extends Quest
private static final int IMPERIAL_GRAVEKEEPER = 27181;
// DROPLIST
private static final int DROPLIST[][] =
private static final int[][] DROPLIST =
{
// npcId, cond, MaxCount, chance, item1, item2 (giants), item3 (giants)
// @formatter:off
@@ -234,10 +234,10 @@ public class Q503_PursuitOfClanAmbition extends Quest
{
st.set("cond", "9");
npc.broadcastNpcSay("Blood and Honor");
NpcInstance Sister1 = addSpawn(KALIS, 160665, 21209, -3710, npc.getHeading(), false, 180000);
Sister1.broadcastNpcSay("Ambition and Power");
NpcInstance Sister2 = addSpawn(ATHREA, 160665, 21291, -3710, npc.getHeading(), false, 180000);
Sister2.broadcastNpcSay("War and Death");
NpcInstance sister1 = addSpawn(KALIS, 160665, 21209, -3710, npc.getHeading(), false, 180000);
sister1.broadcastNpcSay("Ambition and Power");
NpcInstance sister2 = addSpawn(ATHREA, 160665, 21291, -3710, npc.getHeading(), false, 180000);
sister2.broadcastNpcSay("War and Death");
}
// Coffer
else if (event.equalsIgnoreCase("Open"))
@@ -417,52 +417,43 @@ public class Q503_PursuitOfClanAmbition extends Quest
break;
case LUTZ:
if (player.isClanLeader())
if (player.isClanLeader() && (cond == 2))
{
if (cond == 2)
if (st.getInt("lutz") == 1)
{
if (st.getInt("lutz") == 1)
{
htmltext = "30762-03.htm";
}
else
{
htmltext = "30762-01.htm";
}
htmltext = "30762-03.htm";
}
else
{
htmltext = "30762-01.htm";
}
}
break;
case KURTZ:
if (player.isClanLeader())
if (player.isClanLeader() && (cond == 2))
{
if (cond == 2)
if (st.getInt("kurt") == 1)
{
if (st.getInt("kurt") == 1)
{
htmltext = "30763-03.htm";
}
else
{
htmltext = "30763-01.htm";
}
htmltext = "30763-03.htm";
}
else
{
htmltext = "30763-01.htm";
}
}
break;
case FRITZ:
if (player.isClanLeader())
if (player.isClanLeader() && (cond == 2))
{
if (cond == 2)
if (st.getInt("fritz") == 1)
{
if (st.getInt("fritz") == 1)
{
htmltext = "30761-03.htm";
}
else
{
htmltext = "30761-01.htm";
}
htmltext = "30761-03.htm";
}
else
{
htmltext = "30761-01.htm";
}
}
break;
@@ -679,15 +670,9 @@ public class Q503_PursuitOfClanAmbition extends Quest
NpcInstance coffer = addSpawn(COFFER, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), true, 180000);
coffer.broadcastNpcSay("Curse of the gods on the one that defiles the property of the empire!");
}
else if (element[0] == GRAVE_GUARD)
else if ((element[0] == GRAVE_GUARD) && (st.getQuestItemsCount(IMP_KEYS) < 6) && (Rnd.get(50) < chance))
{
if (st.getQuestItemsCount(IMP_KEYS) < 6)
{
if (Rnd.get(50) < chance)
{
addSpawn(GRAVE_KEYMASTER, player.getX(), player.getY(), player.getZ(), player.getHeading(), true, 0);
}
}
addSpawn(GRAVE_KEYMASTER, player.getX(), player.getY(), player.getZ(), player.getHeading(), true, 0);
}
}
if ((item2 != 0) && (item3 != 0))

View File

@@ -60,13 +60,13 @@ public class Q504_CompetitionForTheBanditStronghold extends Quest
return htmltext;
}
if (event == "a2.htm")
if (event.equals("a2.htm"))
{
qs.set("cond", "1");
qs.setState(State.STARTED);
qs.playSound("ItemSound.quest_accept");
}
if (event == "a4.htm")
if (event.equals("a4.htm"))
{
if (qs.getQuestItemsCount(TARLK_AMULET) == 30)
{
@@ -105,7 +105,7 @@ public class Q504_CompetitionForTheBanditStronghold extends Quest
{
return "a6.htm";
}
if (clan.getLeaderName() != player.getName())
if (!clan.getLeaderName().equals(player.getName()))
{
return "a6.htm";
}

View File

@@ -142,7 +142,7 @@ public class Q505_BloodOffering extends Quest
if (!SevenSigns.getInstance().isSealValidationPeriod())
{
final String cabal = SevenSigns.getInstance().getPlayerData(player).getString("cabal");
if (cabal == "dawn")
if (cabal.equals("dawn"))
{
qs.setState(State.STARTED);
qs.set("cond", "1");
@@ -153,7 +153,7 @@ public class Q505_BloodOffering extends Quest
}
return "riftpost-1.htm";
}
if (cabal == "dusk")
if (cabal.equals("dusk"))
{
qs.setState(State.STARTED);
qs.set("cond", "1");

View File

@@ -50,7 +50,7 @@ public class Q508_AClansReputation extends Quest
private static final int RAHHA = 25051;
// Reward list (itemId, minClanPoints, maxClanPoints)
private static final int reward_list[][] =
private static final int[][] REWARD_LIST =
{
{
PALIBATI_QUEEN_THEMIS,
@@ -91,7 +91,7 @@ public class Q508_AClansReputation extends Quest
};
// Radar
private static final int radar[][] =
private static final int[][] radar =
{
{
192346,
@@ -210,9 +210,9 @@ public class Q508_AClansReputation extends Quest
int raid = st.getInt("raid");
if (st.getInt("cond") == 1)
{
int item = reward_list[raid - 1][1];
int item = REWARD_LIST[raid - 1][1];
int count = st.getQuestItemsCount(item);
int reward = Rnd.get(reward_list[raid - 1][2], reward_list[raid - 1][3]);
int reward = Rnd.get(REWARD_LIST[raid - 1][2], REWARD_LIST[raid - 1][3]);
if (count == 0)
{
@@ -245,9 +245,9 @@ public class Q508_AClansReputation extends Quest
// Reward only if quest is setup on good index.
int raid = st.getInt("raid");
if (reward_list[raid - 1][0] == npc.getNpcId())
if (REWARD_LIST[raid - 1][0] == npc.getNpcId())
{
int item = reward_list[raid - 1][1];
int item = REWARD_LIST[raid - 1][1];
if (!st.hasQuestItems(item))
{
st.giveItems(item, 1);

View File

@@ -48,7 +48,7 @@ public class Q509_TheClansPrestige extends Quest
private static final int QUEEN_SHYEED = 25514;
// Reward list (itemId, minClanPoints, maxClanPoints)
private static final int reward_list[][] =
private static final int[][] REWARD_LIST =
{
{
DAIMON_THE_WHITE_EYED,
@@ -83,7 +83,7 @@ public class Q509_TheClansPrestige extends Quest
};
// Radar
private static final int radar[][] =
private static final int[][] radar =
{
{
186320,
@@ -197,9 +197,9 @@ public class Q509_TheClansPrestige extends Quest
int raid = st.getInt("raid");
if (st.getInt("cond") == 1)
{
int item = reward_list[raid - 1][1];
int item = REWARD_LIST[raid - 1][1];
int count = st.getQuestItemsCount(item);
int reward = Rnd.get(reward_list[raid - 1][2], reward_list[raid - 1][3]);
int reward = Rnd.get(REWARD_LIST[raid - 1][2], REWARD_LIST[raid - 1][3]);
if (count == 0)
{
@@ -232,9 +232,9 @@ public class Q509_TheClansPrestige extends Quest
// Reward only if quest is setup on good index.
int raid = st.getInt("raid");
if (reward_list[raid - 1][0] == npc.getNpcId())
if (REWARD_LIST[raid - 1][0] == npc.getNpcId())
{
int item = reward_list[raid - 1][1];
int item = REWARD_LIST[raid - 1][1];
if (!st.hasQuestItems(item))
{
st.giveItems(item, 1);

View File

@@ -29,10 +29,10 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
public class Q510_AClansReputation extends Quest
{
// NPC
private static final int Valdis = 31331;
private static final int VALDIS = 31331;
// Quest Item
private static final int Claw = 8767;
private static final int CLAW = 8767;
// Reward
private static final int CLAN_POINTS_REWARD = 50; // Quantity of points
@@ -41,10 +41,10 @@ public class Q510_AClansReputation extends Quest
{
super(510, "A Clan's Reputation");
registerQuestItems(Claw);
registerQuestItems(CLAW);
addStartNpc(Valdis);
addTalkId(Valdis);
addStartNpc(VALDIS);
addTalkId(VALDIS);
addKillId(22215, 22216, 22217);
}
@@ -106,11 +106,11 @@ public class Q510_AClansReputation extends Quest
case State.STARTED:
if (st.getInt("cond") == 1)
{
int count = st.getQuestItemsCount(Claw);
int count = st.getQuestItemsCount(CLAW);
if (count > 0)
{
int reward = (CLAN_POINTS_REWARD * count);
st.takeItems(Claw, -1);
st.takeItems(CLAW, -1);
Clan clan = player.getClan();
clan.setReputationScore(clan.getReputationScore() + reward, true);
player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_QUEST_COMPLETED_AND_S1_POINTS_GAINED).addNumber(reward));
@@ -139,7 +139,7 @@ public class Q510_AClansReputation extends Quest
return null;
}
st.giveItems(Claw, 1);
st.giveItems(CLAW, 1);
st.playSound(QuestState.SOUND_MIDDLE);
return null;

View File

@@ -41,7 +41,7 @@ public class Q604_DaimonTheWhiteEyed_Part2 extends Quest
private static final int UNFINISHED_SUMMON_CRYSTAL = 7192;
private static final int SUMMON_CRYSTAL = 7193;
private static final int ESSENCE_OF_DAIMON = 7194;
private static final int REWARD_DYE[] =
private static final int[] REWARD_DYE =
{
4595,
4596,
@@ -78,6 +78,8 @@ public class Q604_DaimonTheWhiteEyed_Part2 extends Quest
case ALIVE:
spawnNpc();
// fallthrough
case DEAD:
startQuestTimer("check", CHECK_INTERVAL, null, null, true);
break;

View File

@@ -68,6 +68,8 @@ public class Q610_MagicalPowerOfWater_Part2 extends Quest
case ALIVE:
spawnNpc();
// fallthrough
case DEAD:
startQuestTimer("check", CHECK_INTERVAL, null, null, true);
break;

View File

@@ -68,6 +68,8 @@ public class Q616_MagicalPowerOfFire_Part2 extends Quest
case ALIVE:
spawnNpc();
// fallthrough
case DEAD:
startQuestTimer("check", CHECK_INTERVAL, null, null, true);
break;

View File

@@ -70,7 +70,7 @@ public class Q617_GatherTheFlames extends Quest
}
// Rewards
private static final int REWARD[] =
private static final int[] REWARD =
{
6881,
6883,
@@ -135,7 +135,7 @@ public class Q617_GatherTheFlames extends Quest
{
htmltext = "32049-03.htm";
st.takeItems(TORCH, 1200);
st.giveItems(Integer.valueOf(event), 1);
st.giveItems(Integer.parseInt(event), 1);
}
else
{

View File

@@ -126,13 +126,13 @@ public class Q620_FourGoblets extends Quest
htmltext = "31453-14.htm";
}
}
else if (event.equals("31453-13.htm"))
{
if (st.getInt("cond") == 2)
{
htmltext = "31453-19.htm";
}
}
// else if (event.equals("31453-13.htm"))
// {
// if (st.getInt("cond") == 2)
// {
// htmltext = "31453-19.htm";
// }
// }
else if (event.equals("31453-18.htm"))
{
st.playSound(QuestState.SOUND_GIVEUP);

View File

@@ -41,7 +41,7 @@ public class Q625_TheFinestIngredients_Part2 extends Quest
private static final int SOY_SAUCE_JAR = 7205;
private static final int FOOD_FOR_BUMBALUMP = 7209;
private static final int SPECIAL_YETI_MEAT = 7210;
private static final int REWARD_DYE[] =
private static final int[] REWARD_DYE =
{
4589,
4590,
@@ -78,6 +78,8 @@ public class Q625_TheFinestIngredients_Part2 extends Quest
case ALIVE:
spawnNpc();
// fallthrough
case DEAD:
startQuestTimer("check", CHECK_INTERVAL, null, null, true);
break;

View File

@@ -79,7 +79,7 @@ public class Q635_InTheDimensionalRift extends Quest
final int id = qs.getInt("id");
final int count = qs.getInt("count");
if (event == "5.htm")
if (event.equals("5.htm"))
{
if (id > 0)
{
@@ -98,7 +98,7 @@ public class Q635_InTheDimensionalRift extends Quest
qs.exitQuest(true);
}
}
else if (event == "6.htm")
else if (event.equals("6.htm"))
{
qs.exitQuest(true);
}
@@ -130,7 +130,7 @@ public class Q635_InTheDimensionalRift extends Quest
qs.exitQuest(true);
htmltext = "1a.htm";
}
else if (!(qs.getQuestItemsCount(DIMENSION_FRAGMENT) > 0))
else if (qs.getQuestItemsCount(DIMENSION_FRAGMENT) <= 0)
{
htmltext = "3.htm";
}

View File

@@ -52,13 +52,13 @@ public class Q636_TheTruthBeyondTheGate extends Quest
return htmltext;
}
if (htmltext == "31329-04.htm")
if (event.equals("31329-04.htm"))
{
qs.set("cond", "1");
qs.setState(State.STARTED);
qs.playSound("ItemSound.quest_accept");
}
else if (htmltext == "32010-02.htm")
else if (event.equals("32010-02.htm"))
{
qs.playSound("ItemSound.quest_finish");
qs.giveItems(MARK, 1);

View File

@@ -125,7 +125,7 @@ public class Q640_TheZeroHour extends Quest
}
else if (Util.isDigit(event))
{
int reward[] = REWARDS[Integer.parseInt(event)];
int[] reward = REWARDS[Integer.parseInt(event)];
if (st.getQuestItemsCount(FANG_OF_STAKATO) >= reward[0])
{

View File

@@ -93,7 +93,7 @@ public class Q644_GraveRobberAnnihilation extends Quest
htmltext = "32017-04.htm";
st.takeItems(ORC_GRAVE_GOODS, -1);
final int reward[] = REWARDS[Integer.parseInt(event)];
final int[] reward = REWARDS[Integer.parseInt(event)];
st.rewardItems(reward[0], reward[1]);
st.playSound(QuestState.SOUND_FINISH);

View File

@@ -91,7 +91,7 @@ public class Q645_GhostsOfBatur extends Quest
htmltext = "32017-07.htm";
st.takeItems(CURSED_GRAVE_GOODS, -1);
final int reward[] = REWARDS[Integer.parseInt(event)];
final int[] reward = REWARDS[Integer.parseInt(event)];
st.giveItems(reward[0], reward[1]);
st.playSound(QuestState.SOUND_FINISH);

View File

@@ -85,7 +85,7 @@ public class Q646_SignsOfRevolt extends Quest
htmltext = "32016-07.htm";
st.takeItems(CURSED_DOLL, -1);
final int reward[] = REWARDS[Integer.parseInt(event)];
final int[] reward = REWARDS[Integer.parseInt(event)];
st.giveItems(reward[0], reward[1]);
st.playSound(QuestState.SOUND_FINISH);

View File

@@ -168,14 +168,11 @@ public class Q648_AnIceMerchantsDream extends Quest
{
final QuestState st2 = player.getQuestState(Q115_TheOtherSideOfTruth.class.getSimpleName());
htmltext = "32020-05.htm";
if (st2 != null)
if ((st2 != null) && (st2.getState() == State.COMPLETED))
{
if (st2.getState() == State.COMPLETED)
{
htmltext = "32020-10.htm";
qs.playSound("ItemSound.quest_middle");
qs.set("cond", "2");
}
htmltext = "32020-10.htm";
qs.playSound("ItemSound.quest_middle");
qs.set("cond", "2");
}
}
else

View File

@@ -364,31 +364,22 @@ public class Q662_AGameOfCards extends Quest
{
if ((i8 % 16) < 8)
{
if ((i8 % 8) < 4)
if (((i8 % 8) < 4) && (i2 == i3))
{
if (i2 == i3)
{
i6 = i6 + 10;
i8 = i8 + 4;
}
i6 = i6 + 10;
i8 = i8 + 4;
}
if ((i8 % 4) < 2)
if (((i8 % 4) < 2) && (i2 == i4))
{
if (i2 == i4)
{
i6 = i6 + 10;
i8 = i8 + 2;
}
i6 = i6 + 10;
i8 = i8 + 2;
}
if ((i8 % 2) < 1)
if (((i8 % 2) < 1) && (i2 == i5))
{
if (i2 == i5)
{
i6 = i6 + 10;
i8 = i8 + 1;
}
i6 = i6 + 10;
i8 = i8 + 1;
}
}
}
@@ -396,31 +387,22 @@ public class Q662_AGameOfCards extends Quest
{
if ((i8 % 16) < 8)
{
if ((i8 % 8) < 4)
if (((i8 % 8) < 4) && (i2 == i3))
{
if (i2 == i3)
{
i6 = i6 + 1;
i8 = i8 + 4;
}
i6 = i6 + 1;
i8 = i8 + 4;
}
if ((i8 % 4) < 2)
if (((i8 % 4) < 2) && (i2 == i4))
{
if (i2 == i4)
{
i6 = i6 + 1;
i8 = i8 + 2;
}
i6 = i6 + 1;
i8 = i8 + 2;
}
if ((i8 % 2) < 1)
if (((i8 % 2) < 1) && (i2 == i5))
{
if (i2 == i5)
{
i6 = i6 + 1;
i8 = i8 + 1;
}
i6 = i6 + 1;
i8 = i8 + 1;
}
}
}
@@ -429,22 +411,16 @@ public class Q662_AGameOfCards extends Quest
{
if ((i8 % 8) < 4)
{
if ((i8 % 4) < 2)
if (((i8 % 4) < 2) && (i3 == i4))
{
if (i3 == i4)
{
i6 = i6 + 10;
i8 = i8 + 2;
}
i6 = i6 + 10;
i8 = i8 + 2;
}
if ((i8 % 2) < 1)
if (((i8 % 2) < 1) && (i3 == i5))
{
if (i3 == i5)
{
i6 = i6 + 10;
i8 = i8 + 1;
}
i6 = i6 + 10;
i8 = i8 + 1;
}
}
}
@@ -452,22 +428,16 @@ public class Q662_AGameOfCards extends Quest
{
if ((i8 % 8) < 4)
{
if ((i8 % 4) < 2)
if (((i8 % 4) < 2) && (i3 == i4))
{
if (i3 == i4)
{
i6 = i6 + 1;
i8 = i8 + 2;
}
i6 = i6 + 1;
i8 = i8 + 2;
}
if ((i8 % 2) < 1)
if (((i8 % 2) < 1) && (i3 == i5))
{
if (i3 == i5)
{
i6 = i6 + 1;
i8 = i8 + 1;
}
i6 = i6 + 1;
i8 = i8 + 1;
}
}
}
@@ -476,13 +446,10 @@ public class Q662_AGameOfCards extends Quest
{
if ((i8 % 4) < 2)
{
if ((i8 % 2) < 1)
if (((i8 % 2) < 1) && (i4 == i5))
{
if (i4 == i5)
{
i6 = i6 + 10;
i8 = i8 + 1;
}
i6 = i6 + 10;
i8 = i8 + 1;
}
}
}
@@ -490,13 +457,10 @@ public class Q662_AGameOfCards extends Quest
{
if ((i8 % 4) < 2)
{
if ((i8 % 2) < 1)
if (((i8 % 2) < 1) && (i4 == i5))
{
if (i4 == i5)
{
i6 = i6 + 1;
i8 = i8 + 1;
}
i6 = i6 + 1;
i8 = i8 + 1;
}
}
}

View File

@@ -43,7 +43,7 @@ public class Q663_SeductiveWhispers extends Quest
private static final int ENCHANT_WEAPON_C = 951;
private static final int ENCHANT_WEAPON_D = 955;
private static final int RECIPES[] =
private static final int[] RECIPES =
{
2353,
4963,
@@ -57,7 +57,7 @@ public class Q663_SeductiveWhispers extends Quest
5007
};
private static final int BLADES[] =
private static final int[] BLADES =
{
2115,
4104,

File diff suppressed because it is too large Load Diff

View File

@@ -67,7 +67,7 @@ public class GrandBossTeleporters extends Quest
st = newQuestState(player);
}
if (event == "31540")
if (event.equals("31540"))
{
if (st.getQuestItemsCount(7267) > 0)
{

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