Addition of generic getRandomEntry method.
This commit is contained in:
@@ -251,7 +251,7 @@ public class BeastFarm extends AbstractNpcAI
|
||||
{
|
||||
final TamedBeastInstance nextNpc = new TamedBeastInstance(nextNpcId, player, food, npc.getX(), npc.getY(), npc.getZ(), true);
|
||||
|
||||
final TamedBeast beast = TAMED_BEAST_DATA.get(getRandom(TAMED_BEAST_DATA.size()));
|
||||
final TamedBeast beast = getRandomEntry(TAMED_BEAST_DATA);
|
||||
String name = beast.getName();
|
||||
switch (nextNpcId)
|
||||
{
|
||||
|
@@ -568,7 +568,7 @@ public class FeedableBeasts extends AbstractNpcAI
|
||||
// rare random talk...
|
||||
if (getRandom(20) == 0)
|
||||
{
|
||||
final NpcStringId message = TEXT[growthLevel][getRandom(TEXT[growthLevel].length)];
|
||||
final NpcStringId message = getRandomEntry(TEXT[growthLevel]);
|
||||
final NpcSay packet = new NpcSay(npc, ChatType.GENERAL, message);
|
||||
if (message.getParamCount() > 0) // player name, $s1
|
||||
{
|
||||
@@ -596,7 +596,7 @@ public class FeedableBeasts extends AbstractNpcAI
|
||||
if (skillId == beast.getFoodType())
|
||||
{
|
||||
beast.onReceiveFood();
|
||||
final NpcStringId message = TAMED_TEXT[getRandom(TAMED_TEXT.length)];
|
||||
final NpcStringId message = getRandomEntry(TAMED_TEXT);
|
||||
final NpcSay packet = new NpcSay(npc, ChatType.GENERAL, message);
|
||||
if (message.getParamCount() > 0)
|
||||
{
|
||||
|
@@ -102,7 +102,7 @@ public class DenOfEvil extends AbstractNpcAI
|
||||
addSpawnId(EYE_IDS);
|
||||
for (Location loc : EYE_SPAWNS)
|
||||
{
|
||||
addSpawn(EYE_IDS[getRandom(EYE_IDS.length)], loc, false, 0);
|
||||
addSpawn(getRandomEntry(EYE_IDS), loc, false, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ public class DenOfEvil extends AbstractNpcAI
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
addSpawn(EYE_IDS[getRandom(EYE_IDS.length)], _loc, false, 0);
|
||||
addSpawn(getRandomEntry(EYE_IDS), _loc, false, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -51,7 +51,7 @@ public class Toma extends AbstractNpcAI
|
||||
{
|
||||
if (event.equals("RESPAWN_TOMA"))
|
||||
{
|
||||
addSpawn(TOMA, LOCATIONS[getRandom(LOCATIONS.length)], false, TELEPORT_DELAY);
|
||||
addSpawn(TOMA, getRandomEntry(LOCATIONS), false, TELEPORT_DELAY);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@@ -80,7 +80,7 @@ public class Rooney extends AbstractNpcAI
|
||||
private Rooney()
|
||||
{
|
||||
addSeeCreatureId(ROONEY);
|
||||
addSpawn(ROONEY, LOCATIONS[getRandom(LOCATIONS.length)], false, 0);
|
||||
addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -113,7 +113,7 @@ public class Rooney extends AbstractNpcAI
|
||||
}
|
||||
default:
|
||||
{
|
||||
npc.teleToLocation(LOCATIONS[getRandom(LOCATIONS.length)], false);
|
||||
npc.teleToLocation(getRandomEntry(LOCATIONS), false);
|
||||
npc.setScriptValue(0);
|
||||
return null;
|
||||
}
|
||||
|
@@ -72,7 +72,7 @@ public class GeneralDilios extends AbstractNpcAI
|
||||
else
|
||||
{
|
||||
value = -1;
|
||||
_general.broadcastPacket(new NpcSay(_general.getObjectId(), ChatType.NPC_SHOUT, GENERAL_ID, DILIOS_TEXT[getRandom(DILIOS_TEXT.length)]));
|
||||
_general.broadcastPacket(new NpcSay(_general.getObjectId(), ChatType.NPC_SHOUT, GENERAL_ID, getRandomEntry(DILIOS_TEXT)));
|
||||
}
|
||||
startQuestTimer("command_" + (value + 1), 60000, null, null);
|
||||
}
|
||||
|
@@ -65,7 +65,7 @@ public class Seyo extends AbstractNpcAI
|
||||
if (npc.isScriptValue(1))
|
||||
{
|
||||
npc.setScriptValue(0);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, TEXT[getRandom(TEXT.length)]);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(TEXT));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -288,7 +288,7 @@ public class SeedOfAnnihilation extends AbstractNpcAI
|
||||
{
|
||||
if (CommonUtil.contains(element.elite_mob_ids, npc.getId()))
|
||||
{
|
||||
spawnGroupOfMinion((MonsterInstance) npc, element.minion_lists[getRandom(element.minion_lists.length)]);
|
||||
spawnGroupOfMinion((MonsterInstance) npc, getRandomEntry(element.minion_lists));
|
||||
}
|
||||
}
|
||||
return super.onSpawn(npc);
|
||||
|
@@ -381,11 +381,11 @@ public class HallOfSufferingAttack extends AbstractNpcAI
|
||||
world.isBossesAttacked = false;
|
||||
return "";
|
||||
}
|
||||
Npc mob = addSpawn(TWIN_MOBIDS[getRandom(TWIN_MOBIDS.length)], TWIN_SPAWNS[0][1], TWIN_SPAWNS[0][2], TWIN_SPAWNS[0][3], 0, false, 0, false, npc.getInstanceId());
|
||||
Npc mob = addSpawn(getRandomEntry(TWIN_MOBIDS), TWIN_SPAWNS[0][1], TWIN_SPAWNS[0][2], TWIN_SPAWNS[0][3], 0, false, 0, false, npc.getInstanceId());
|
||||
((Attackable) mob).addDamageHate(((Attackable) npc).getMostHated(), 0, 1);
|
||||
if (getRandom(100) < 33)
|
||||
{
|
||||
mob = addSpawn(TWIN_MOBIDS[getRandom(TWIN_MOBIDS.length)], TWIN_SPAWNS[1][1], TWIN_SPAWNS[1][2], TWIN_SPAWNS[1][3], 0, false, 0, false, npc.getInstanceId());
|
||||
mob = addSpawn(getRandomEntry(TWIN_MOBIDS), TWIN_SPAWNS[1][1], TWIN_SPAWNS[1][2], TWIN_SPAWNS[1][3], 0, false, 0, false, npc.getInstanceId());
|
||||
((Attackable) mob).addDamageHate(((Attackable) npc).getMostHated(), 0, 1);
|
||||
}
|
||||
startQuestTimer("spawnBossGuards", BOSS_MINION_SPAWN_TIME, npc, null);
|
||||
|
@@ -381,11 +381,11 @@ public class HallOfSufferingDefence extends AbstractNpcAI
|
||||
world.isBossesAttacked = false;
|
||||
return "";
|
||||
}
|
||||
Npc mob = addSpawn(TWIN_MOBIDS[getRandom(TWIN_MOBIDS.length)], TWIN_SPAWNS[0][1], TWIN_SPAWNS[0][2], TWIN_SPAWNS[0][3], 0, false, 0, false, npc.getInstanceId());
|
||||
Npc mob = addSpawn(getRandomEntry(TWIN_MOBIDS), TWIN_SPAWNS[0][1], TWIN_SPAWNS[0][2], TWIN_SPAWNS[0][3], 0, false, 0, false, npc.getInstanceId());
|
||||
((Attackable) mob).addDamageHate(((Attackable) npc).getMostHated(), 0, 1);
|
||||
if (getRandom(100) < 33)
|
||||
{
|
||||
mob = addSpawn(TWIN_MOBIDS[getRandom(TWIN_MOBIDS.length)], TWIN_SPAWNS[1][1], TWIN_SPAWNS[1][2], TWIN_SPAWNS[1][3], 0, false, 0, false, npc.getInstanceId());
|
||||
mob = addSpawn(getRandomEntry(TWIN_MOBIDS), TWIN_SPAWNS[1][1], TWIN_SPAWNS[1][2], TWIN_SPAWNS[1][3], 0, false, 0, false, npc.getInstanceId());
|
||||
((Attackable) mob).addDamageHate(((Attackable) npc).getMostHated(), 0, 1);
|
||||
}
|
||||
startQuestTimer("spawnBossGuards", BOSS_MINION_SPAWN_TIME, npc, null);
|
||||
|
@@ -58,7 +58,7 @@ public class DemonPrince extends AbstractNpcAI
|
||||
{
|
||||
if (event.equalsIgnoreCase("cast") && (npc != null) && (npc.getId() == FIEND) && !npc.isDead())
|
||||
{
|
||||
npc.doCast(AOE[getRandom(AOE.length)].getSkill());
|
||||
npc.doCast(getRandomEntry(AOE).getSkill());
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
}
|
||||
|
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
package ai.areas.Hellbound.AI;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@@ -59,8 +58,7 @@ public class Ranku extends AbstractNpcAI
|
||||
{
|
||||
if ((minion != null) && !minion.isDead() && MY_TRACKING_SET.contains(minion.getObjectId()))
|
||||
{
|
||||
final List<PlayerInstance> players = World.getInstance().getVisibleObjects(minion, PlayerInstance.class);
|
||||
final PlayerInstance killer = players.get(getRandom(players.size()));
|
||||
final PlayerInstance killer = getRandomEntry(World.getInstance().getVisibleObjects(minion, PlayerInstance.class));
|
||||
minion.reduceCurrentHp(minion.getMaxHp() / 100, killer, null);
|
||||
}
|
||||
}
|
||||
|
@@ -1019,8 +1019,7 @@ public class TullyWorkshop extends AbstractNpcAI
|
||||
MinionList.spawnMinion(monster, 25596);
|
||||
}
|
||||
|
||||
final PlayerInstance target = player.getParty() == null ? player : player.getParty().getMembers().get(getRandom(player.getParty().getMembers().size()));
|
||||
|
||||
final PlayerInstance target = player.getParty() == null ? player : getRandomEntry(player.getParty().getMembers());
|
||||
if ((target != null) && !target.isDead())
|
||||
{
|
||||
monster.addDamageHate(target, 0, 999);
|
||||
|
@@ -189,7 +189,7 @@ public class PlainsOfLizardman extends AbstractNpcAI
|
||||
}
|
||||
if (random <= 25)
|
||||
{
|
||||
buffer.doCast(BUFFS[BUFF_LIST[getRandom(BUFF_LIST.length)]].getSkill());
|
||||
buffer.doCast(BUFFS[getRandomEntry(BUFF_LIST)].getSkill());
|
||||
}
|
||||
if (random <= 10)
|
||||
{
|
||||
|
@@ -462,7 +462,7 @@ public class Beleth extends AbstractNpcAI
|
||||
ym[15] = (ym[7] + ym[0]) / 2;
|
||||
_minions.add(addSpawn(FAKE_BELETH, new Location(xm[15], ym[15], -9357, 49152)));
|
||||
|
||||
_allowedObjId = _minions.get(getRandom(_minions.size())).getObjectId();
|
||||
_allowedObjId = getRandomEntry(_minions).getObjectId();
|
||||
break;
|
||||
}
|
||||
case "SPAWN_REAL":
|
||||
|
@@ -528,15 +528,15 @@ public class Valakas extends AbstractNpcAI
|
||||
// Valakas will use mass spells if he feels surrounded.
|
||||
if (World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 1200).size() >= 20)
|
||||
{
|
||||
return VALAKAS_AOE_SKILLS[getRandom(VALAKAS_AOE_SKILLS.length)];
|
||||
return getRandomEntry(VALAKAS_AOE_SKILLS);
|
||||
}
|
||||
|
||||
if (hpRatio > 50)
|
||||
{
|
||||
return VALAKAS_REGULAR_SKILLS[getRandom(VALAKAS_REGULAR_SKILLS.length)];
|
||||
return getRandomEntry(VALAKAS_REGULAR_SKILLS);
|
||||
}
|
||||
|
||||
return VALAKAS_LOWHP_SKILLS[getRandom(VALAKAS_LOWHP_SKILLS.length)];
|
||||
return getRandomEntry(VALAKAS_LOWHP_SKILLS);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -560,7 +560,7 @@ public class Valakas extends AbstractNpcAI
|
||||
}
|
||||
});
|
||||
|
||||
return result.isEmpty() ? null : result.get(getRandom(result.size()));
|
||||
return getRandomEntry(result);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
|
@@ -79,7 +79,7 @@ public class DelusionTeleport extends AbstractNpcAI
|
||||
final TownZone town = TownManager.getTown(npc.getX(), npc.getY(), npc.getZ());
|
||||
final int townId = ((town == null) ? 0 : town.getTownId());
|
||||
player.getVariables().set(DELUSION_RETURN, townId);
|
||||
player.teleToLocation(HALL_LOCATIONS[getRandom(HALL_LOCATIONS.length)], false);
|
||||
player.teleToLocation(getRandomEntry(HALL_LOCATIONS), false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -98,7 +98,7 @@ public class CabaleBuffer extends AbstractNpcAI
|
||||
{
|
||||
messages = PREACHER_MSG;
|
||||
}
|
||||
broadcastSay(_npc, messages[getRandom(messages.length)], null, -1);
|
||||
broadcastSay(_npc, getRandomEntry(messages), null, -1);
|
||||
ThreadPool.schedule(this, 60000);
|
||||
}
|
||||
}
|
||||
|
@@ -174,7 +174,7 @@ public class OracleTeleport extends AbstractNpcAI
|
||||
}
|
||||
else
|
||||
{
|
||||
player.teleToLocation(RETURN_LOCS[getRandom(RETURN_LOCS.length - 1)]);
|
||||
player.teleToLocation(getRandomEntry(RETURN_LOCS));
|
||||
htmltext = "rift_back_unknown.htm";
|
||||
player.setIsIn7sDungeon(false);
|
||||
qs.exitQuest(true);
|
||||
|
@@ -88,7 +88,7 @@ public class TeleportToFantasy extends AbstractNpcAI
|
||||
}
|
||||
else
|
||||
{
|
||||
player.teleToLocation(ISLE_LOCATIONS[getRandom(ISLE_LOCATIONS.length)]);
|
||||
player.teleToLocation(getRandomEntry(ISLE_LOCATIONS));
|
||||
player.getVariables().set(FANTASY_RETURN, npc.getId());
|
||||
}
|
||||
return super.onTalk(npc, player);
|
||||
|
@@ -102,12 +102,12 @@ public class TeleportToUndergroundColiseum extends AbstractNpcAI
|
||||
}
|
||||
else if (event.equals("return"))
|
||||
{
|
||||
player.teleToLocation(RETURN_LOCS[getRandom(RETURN_LOCS.length)], false);
|
||||
player.teleToLocation(getRandomEntry(RETURN_LOCS), false);
|
||||
}
|
||||
else if (Util.isDigit(event))
|
||||
{
|
||||
final int val = Integer.parseInt(event) - 1;
|
||||
player.teleToLocation(MANAGERS_LOCS[val][getRandom(MANAGERS_LOCS[val].length)], false);
|
||||
player.teleToLocation(getRandomEntry(MANAGERS_LOCS[val]), false);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -117,11 +117,11 @@ public class TeleportToUndergroundColiseum extends AbstractNpcAI
|
||||
{
|
||||
if (CommonUtil.contains(MANAGERS, npc.getId()))
|
||||
{
|
||||
player.teleToLocation(RETURN_LOCS[getRandom(RETURN_LOCS.length)], false);
|
||||
player.teleToLocation(getRandomEntry(RETURN_LOCS), false);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.teleToLocation(COLISEUM_LOCS[getRandom(COLISEUM_LOCS.length)], false);
|
||||
player.teleToLocation(getRandomEntry(COLISEUM_LOCS), false);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
@@ -59,7 +59,7 @@ public class TimakOrcTroopLeader extends AbstractNpcAI
|
||||
{
|
||||
addMinion((MonsterInstance) npc, is.getId());
|
||||
}
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, ON_ATTACK_MSG[getRandom(ON_ATTACK_MSG.length)]);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(ON_ATTACK_MSG));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -89,7 +89,7 @@ public class WarriorFishingBlock extends AbstractNpcAI
|
||||
else
|
||||
{
|
||||
final PlayerInstance target = obj.getActingPlayer();
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NPC_STRINGS_ON_SPAWN[getRandom(NPC_STRINGS_ON_SPAWN.length)], target.getName());
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(NPC_STRINGS_ON_SPAWN), target.getName());
|
||||
((Attackable) npc).addDamageHate(target, 0, 2000);
|
||||
npc.getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, target);
|
||||
npc.addAttackerToAttackByList(target);
|
||||
@@ -112,7 +112,7 @@ public class WarriorFishingBlock extends AbstractNpcAI
|
||||
{
|
||||
if (getRandom(100) < CHANCE_TO_SHOUT_ON_ATTACK)
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NPC_STRINGS_ON_ATTACK[getRandom(NPC_STRINGS_ON_ATTACK.length)]);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(NPC_STRINGS_ON_ATTACK));
|
||||
}
|
||||
return super.onAttack(npc, attacker, damage, isSummon);
|
||||
}
|
||||
@@ -120,7 +120,7 @@ public class WarriorFishingBlock extends AbstractNpcAI
|
||||
@Override
|
||||
public String onKill(Npc npc, PlayerInstance killer, boolean isSummon)
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NPC_STRINGS_ON_KILL[getRandom(NPC_STRINGS_ON_KILL.length)]);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(NPC_STRINGS_ON_KILL));
|
||||
cancelQuestTimer("DESPAWN", npc, killer);
|
||||
return super.onKill(npc, killer, isSummon);
|
||||
}
|
||||
|
@@ -116,7 +116,7 @@ public class FactionSystem extends AbstractNpcAI
|
||||
{
|
||||
if (npc != null)
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, TEXTS[getRandom(TEXTS.length)], 1500);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(TEXTS), 1500);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@@ -95,8 +95,7 @@ public class Elpies extends Event
|
||||
|
||||
EVENT_ACTIVE = true;
|
||||
|
||||
final EventLocation[] locations = EventLocation.values();
|
||||
final EventLocation randomLoc = locations[getRandom(locations.length)];
|
||||
final EventLocation randomLoc = getRandomEntry(EventLocation.values());
|
||||
|
||||
final long despawnDelay = EVENT_DURATION_MINUTES * 60000;
|
||||
|
||||
|
@@ -132,7 +132,7 @@ public class FreyaCelebration extends LongTimeEvent
|
||||
}
|
||||
else if (getRandom(10) < 2)
|
||||
{
|
||||
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), FREYA_TEXT[getRandom(FREYA_TEXT.length - 1)]));
|
||||
npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), getRandomEntry(FREYA_TEXT)));
|
||||
}
|
||||
}
|
||||
return super.onSkillSee(npc, caster, skill, targets, isSummon);
|
||||
|
@@ -113,14 +113,14 @@ public class CastleDungeon extends AbstractInstance
|
||||
{
|
||||
if (player.getParty() == null)
|
||||
{
|
||||
teleportPlayer(player, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId());
|
||||
teleportPlayer(player, getRandomEntry(ENTER_LOC), world.getInstanceId());
|
||||
world.addAllowed(player);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (PlayerInstance partyMember : player.getParty().getMembers())
|
||||
{
|
||||
teleportPlayer(partyMember, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId());
|
||||
teleportPlayer(partyMember, getRandomEntry(ENTER_LOC), world.getInstanceId());
|
||||
world.addAllowed(partyMember);
|
||||
}
|
||||
}
|
||||
@@ -129,7 +129,7 @@ public class CastleDungeon extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
teleportPlayer(player, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId());
|
||||
teleportPlayer(player, getRandomEntry(ENTER_LOC), world.getInstanceId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,15 +209,15 @@ public class CastleDungeon extends AbstractInstance
|
||||
int spawnId;
|
||||
if (world.getStatus() == 0)
|
||||
{
|
||||
spawnId = RAIDS1[getRandom(RAIDS1.length)];
|
||||
spawnId = getRandomEntry(RAIDS1);
|
||||
}
|
||||
else if (world.getStatus() == 1)
|
||||
{
|
||||
spawnId = RAIDS2[getRandom(RAIDS2.length)];
|
||||
spawnId = getRandomEntry(RAIDS2);
|
||||
}
|
||||
else
|
||||
{
|
||||
spawnId = RAIDS3[getRandom(RAIDS3.length)];
|
||||
spawnId = getRandomEntry(RAIDS3);
|
||||
}
|
||||
|
||||
addSpawn(spawnId, RAIDS_LOC, false, 0, false, world.getInstanceId());
|
||||
|
@@ -188,14 +188,14 @@ public class CavernOfThePirateCaptain extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
teleportPlayer(player, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId(), false);
|
||||
teleportPlayer(player, getRandomEntry(ENTER_LOC), world.getInstanceId(), false);
|
||||
}
|
||||
}
|
||||
|
||||
private void managePlayerEnter(PlayerInstance player, InstanceWorld world)
|
||||
{
|
||||
world.addAllowed(player);
|
||||
teleportPlayer(player, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId(), false);
|
||||
teleportPlayer(player, getRandomEntry(ENTER_LOC), world.getInstanceId(), false);
|
||||
}
|
||||
|
||||
private boolean checkConditions(PlayerInstance player, int templateId)
|
||||
|
@@ -768,7 +768,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
|
||||
for (int[] spawn : HALL_SPAWNS)
|
||||
{
|
||||
final Npc mob = addSpawn(CGMOBS[getRandom(CGMOBS.length)], spawn[0], spawn[1], spawn[2], spawn[3], false, 0, false, world.getInstanceId());
|
||||
final Npc mob = addSpawn(getRandomEntry(CGMOBS), spawn[0], spawn[1], spawn[2], spawn[3], false, 0, false, world.getInstanceId());
|
||||
world.npcList1.put(mob, false);
|
||||
}
|
||||
}
|
||||
@@ -1291,7 +1291,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
if (world._alarm == null)
|
||||
{
|
||||
final int[] spawnLoc = ALARMSPAWN[getRandom(ALARMSPAWN.length)];
|
||||
final int[] spawnLoc = getRandomEntry(ALARMSPAWN);
|
||||
npc.addSkill(SkillData.getInstance().getSkill(5244, 1));
|
||||
npc.addSkill(SkillData.getInstance().getSkill(5245, 1));
|
||||
world._alarm = addSpawn(ALARMID, spawnLoc[0], spawnLoc[1], spawnLoc[2], 10800, false, 0, false, world.getInstanceId());
|
||||
@@ -1332,7 +1332,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
}
|
||||
else if (rand < 33)
|
||||
{
|
||||
npc.setTarget(world._raiders.get(getRandom(world._raiders.size())));
|
||||
npc.setTarget(getRandomEntry(world._raiders));
|
||||
npc.doCast(SkillData.getInstance().getSkill(5229, 1));
|
||||
}
|
||||
}
|
||||
|
@@ -187,7 +187,7 @@ public class SSQDisciplesNecropolisPast extends AbstractInstance
|
||||
|
||||
private void makeCast(Npc npc, List<Npc> targets)
|
||||
{
|
||||
npc.setTarget(targets.get(getRandom(targets.size())));
|
||||
npc.setTarget(getRandomEntry(targets));
|
||||
if (SKILLS.containsKey(npc.getId()))
|
||||
{
|
||||
npc.doCast(SKILLS.get(npc.getId()).getSkill());
|
||||
@@ -235,7 +235,7 @@ public class SSQDisciplesNecropolisPast extends AbstractInstance
|
||||
}
|
||||
else if (getRandom(100) < 10)
|
||||
{
|
||||
caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), LILITH_SHOUT[getRandom(3)]));
|
||||
caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), getRandomEntry(LILITH_SHOUT)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -89,7 +89,7 @@ public class SSQLibraryOfSages extends AbstractInstance
|
||||
{
|
||||
npc.setRunning();
|
||||
npc.getAI().startFollow(player);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, ELCADIA_DIALOGS[getRandom(ELCADIA_DIALOGS.length)]);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(ELCADIA_DIALOGS));
|
||||
startQuestTimer("FOLLOW", 10000, npc, player);
|
||||
break;
|
||||
}
|
||||
|
@@ -266,7 +266,7 @@ public class SSQMonasteryOfSilence extends AbstractInstance
|
||||
npc.getAI().startFollow(player);
|
||||
if (player.isInCombat())
|
||||
{
|
||||
npc.doCast(BUFFS[getRandom(BUFFS.length)].getSkill());
|
||||
npc.doCast(getRandomEntry(BUFFS).getSkill());
|
||||
}
|
||||
startQuestTimer("FOLLOW", 5000, npc, player);
|
||||
break;
|
||||
@@ -277,11 +277,11 @@ public class SSQMonasteryOfSilence extends AbstractInstance
|
||||
final QuestState st_Q10295 = player.getQuestState(Q10295_SevenSignsSolinasTomb.class.getSimpleName());
|
||||
if ((st_Q10294 != null) && st_Q10294.isStarted())
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, ELCADIA_DIALOGS_Q010294[getRandom(ELCADIA_DIALOGS_Q010294.length)]);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(ELCADIA_DIALOGS_Q010294));
|
||||
}
|
||||
if ((st_Q10295 != null) && st_Q10295.isMemoState(1))
|
||||
{
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, ELCADIA_DIALOGS_Q010295[getRandom(ELCADIA_DIALOGS_Q010295.length)]);
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, getRandomEntry(ELCADIA_DIALOGS_Q010295));
|
||||
}
|
||||
startQuestTimer("DIALOG", 10000, npc, player);
|
||||
break;
|
||||
|
@@ -115,8 +115,7 @@ public class Q00287_FiguringItOut extends Quest
|
||||
{
|
||||
if (getQuestItemsCount(player, VIAL_OF_TANTA_BLOOD) >= 500)
|
||||
{
|
||||
final ItemHolder holder = ICARUS[getRandom(ICARUS.length)];
|
||||
giveItems(player, holder);
|
||||
giveItems(player, getRandomEntry(ICARUS));
|
||||
takeItems(player, VIAL_OF_TANTA_BLOOD, 500);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
|
||||
htmltext = "32742-06.html";
|
||||
@@ -131,8 +130,7 @@ public class Q00287_FiguringItOut extends Quest
|
||||
{
|
||||
if (getQuestItemsCount(player, VIAL_OF_TANTA_BLOOD) >= 100)
|
||||
{
|
||||
final ItemHolder holder = MOIRAI[getRandom(MOIRAI.length)];
|
||||
giveItems(player, holder);
|
||||
giveItems(player, getRandomEntry(MOIRAI));
|
||||
takeItems(player, VIAL_OF_TANTA_BLOOD, 100);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_FINISH);
|
||||
htmltext = "32742-08.html";
|
||||
|
@@ -326,15 +326,15 @@ public class Q00456_DontKnowDontCare extends Quest
|
||||
|
||||
if (chance < 170)
|
||||
{
|
||||
reward = ARMOR[getRandom(ARMOR.length)];
|
||||
reward = getRandomEntry(ARMOR);
|
||||
}
|
||||
else if (chance < 200)
|
||||
{
|
||||
reward = ACCESSORIES[getRandom(ACCESSORIES.length)];
|
||||
reward = getRandomEntry(ACCESSORIES);
|
||||
}
|
||||
else if (chance < 270)
|
||||
{
|
||||
reward = WEAPONS[getRandom(WEAPONS.length)];
|
||||
reward = getRandomEntry(WEAPONS);
|
||||
}
|
||||
else if (chance < 325)
|
||||
{
|
||||
@@ -346,7 +346,7 @@ public class Q00456_DontKnowDontCare extends Quest
|
||||
}
|
||||
else if (chance < 925)
|
||||
{
|
||||
reward = ATTRIBUTE_CRYSTALS[getRandom(ATTRIBUTE_CRYSTALS.length)];
|
||||
reward = getRandomEntry(ATTRIBUTE_CRYSTALS);
|
||||
}
|
||||
else if (chance < 1100)
|
||||
{
|
||||
|
@@ -113,7 +113,7 @@ public class Q00617_GatherTheFlames extends Quest
|
||||
{
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
giveItems(player, REWARD[getRandom(REWARD.length)], 1);
|
||||
giveItems(player, getRandomEntry(REWARD), 1);
|
||||
takeItems(player, TORCH, 1000);
|
||||
break;
|
||||
}
|
||||
|
@@ -120,32 +120,32 @@ public class Q00631_DeliciousTopChoiceMeat extends Quest
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
rewardItems(player, RECIPE[getRandom(RECIPE.length)], 1);
|
||||
rewardItems(player, getRandomEntry(RECIPE), 1);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
rewardItems(player, PIECE[getRandom(PIECE.length)], 1);
|
||||
rewardItems(player, getRandomEntry(PIECE), 1);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
rewardItems(player, PIECE[getRandom(PIECE.length)], 2);
|
||||
rewardItems(player, getRandomEntry(PIECE), 2);
|
||||
break;
|
||||
}
|
||||
case 3:
|
||||
{
|
||||
rewardItems(player, PIECE[getRandom(PIECE.length)], 3);
|
||||
rewardItems(player, getRandomEntry(PIECE), 3);
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
{
|
||||
rewardItems(player, PIECE[getRandom(PIECE.length)], getRandom(5) + 2);
|
||||
rewardItems(player, getRandomEntry(PIECE), getRandom(5) + 2);
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
{
|
||||
rewardItems(player, PIECE[getRandom(PIECE.length)], getRandom(7) + 2);
|
||||
rewardItems(player, getRandomEntry(PIECE), getRandom(7) + 2);
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
|
@@ -168,7 +168,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardItems(player, PIECE[getRandom(PIECE.length)], 5);
|
||||
rewardItems(player, getRandomEntry(PIECE), 5);
|
||||
takeItems(player, BONES_OF_A_PLAINS_DINOSAUR, 300);
|
||||
playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE);
|
||||
htmltext = "32117-05.html";
|
||||
|
@@ -101,7 +101,7 @@ public class Q00647_InfluxOfMachines extends Quest
|
||||
{
|
||||
if (qs.isCond(2) && (getQuestItemsCount(player, BROKEN_GOLEM_FRAGMENT) >= FRAGMENT_COUNT))
|
||||
{
|
||||
giveItems(player, RECIPES[getRandom(RECIPES.length)], 1);
|
||||
giveItems(player, getRandomEntry(RECIPES), 1);
|
||||
qs.exitQuest(true, true);
|
||||
htmltext = event;
|
||||
}
|
||||
|
@@ -89,19 +89,19 @@ public class Q10276_MutatedKaneusGludio extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (killer.getParty() != null)
|
||||
{
|
||||
final List<PlayerInstance> PartyMembers = new ArrayList<>();
|
||||
final List<PlayerInstance> partyMembers = new ArrayList<>();
|
||||
for (PlayerInstance member : killer.getParty().getMembers())
|
||||
{
|
||||
qs = getQuestState(member, false);
|
||||
if ((qs != null) && qs.isStarted() && (((npcId == TOMLAN_KAMOS) && !hasQuestItems(member, TISSUE_TK)) || ((npcId == OL_ARIOSH) && !hasQuestItems(member, TISSUE_OA))))
|
||||
{
|
||||
PartyMembers.add(member);
|
||||
partyMembers.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
if (!PartyMembers.isEmpty())
|
||||
if (!partyMembers.isEmpty())
|
||||
{
|
||||
rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size())));
|
||||
rewardItem(npcId, getRandomEntry(partyMembers));
|
||||
}
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
|
@@ -89,19 +89,19 @@ public class Q10277_MutatedKaneusDion extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (killer.getParty() != null)
|
||||
{
|
||||
final List<PlayerInstance> PartyMembers = new ArrayList<>();
|
||||
final List<PlayerInstance> partyMembers = new ArrayList<>();
|
||||
for (PlayerInstance member : killer.getParty().getMembers())
|
||||
{
|
||||
qs = getQuestState(member, false);
|
||||
if ((qs != null) && qs.isStarted() && (((npcId == CRIMSON_HATU) && !hasQuestItems(member, TISSUE_CH)) || ((npcId == SEER_FLOUROS) && !hasQuestItems(member, TISSUE_SF))))
|
||||
{
|
||||
PartyMembers.add(member);
|
||||
partyMembers.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
if (!PartyMembers.isEmpty())
|
||||
if (!partyMembers.isEmpty())
|
||||
{
|
||||
rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size())));
|
||||
rewardItem(npcId, getRandomEntry(partyMembers));
|
||||
}
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
|
@@ -89,19 +89,19 @@ public class Q10278_MutatedKaneusHeine extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (killer.getParty() != null)
|
||||
{
|
||||
final List<PlayerInstance> PartyMembers = new ArrayList<>();
|
||||
final List<PlayerInstance> partyMembers = new ArrayList<>();
|
||||
for (PlayerInstance member : killer.getParty().getMembers())
|
||||
{
|
||||
qs = getQuestState(member, false);
|
||||
if ((qs != null) && qs.isStarted() && (((npcId == BLADE_OTIS) && !hasQuestItems(member, TISSUE_BO)) || ((npcId == WEIRD_BUNEI) && !hasQuestItems(member, TISSUE_WB))))
|
||||
{
|
||||
PartyMembers.add(member);
|
||||
partyMembers.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
if (!PartyMembers.isEmpty())
|
||||
if (!partyMembers.isEmpty())
|
||||
{
|
||||
rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size())));
|
||||
rewardItem(npcId, getRandomEntry(partyMembers));
|
||||
}
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
|
@@ -89,19 +89,19 @@ public class Q10279_MutatedKaneusOren extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (killer.getParty() != null)
|
||||
{
|
||||
final List<PlayerInstance> PartyMembers = new ArrayList<>();
|
||||
final List<PlayerInstance> partyMembers = new ArrayList<>();
|
||||
for (PlayerInstance member : killer.getParty().getMembers())
|
||||
{
|
||||
qs = getQuestState(member, false);
|
||||
if ((qs != null) && qs.isStarted() && (((npcId == KAIM_ABIGORE) && !hasQuestItems(member, TISSUE_KA)) || ((npcId == KNIGHT_MONTAGNAR) && !hasQuestItems(member, TISSUE_KM))))
|
||||
{
|
||||
PartyMembers.add(member);
|
||||
partyMembers.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
if (!PartyMembers.isEmpty())
|
||||
if (!partyMembers.isEmpty())
|
||||
{
|
||||
rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size())));
|
||||
rewardItem(npcId, getRandomEntry(partyMembers));
|
||||
}
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
|
@@ -89,19 +89,19 @@ public class Q10280_MutatedKaneusSchuttgart extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (killer.getParty() != null)
|
||||
{
|
||||
final List<PlayerInstance> PartyMembers = new ArrayList<>();
|
||||
final List<PlayerInstance> partyMembers = new ArrayList<>();
|
||||
for (PlayerInstance member : killer.getParty().getMembers())
|
||||
{
|
||||
qs = getQuestState(member, false);
|
||||
if ((qs != null) && qs.isStarted() && (((npcId == VENOMOUS_STORACE) && !hasQuestItems(member, TISSUE_VS)) || ((npcId == KEL_BILETTE) && !hasQuestItems(member, TISSUE_KB))))
|
||||
{
|
||||
PartyMembers.add(member);
|
||||
partyMembers.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
if (!PartyMembers.isEmpty())
|
||||
if (!partyMembers.isEmpty())
|
||||
{
|
||||
rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size())));
|
||||
rewardItem(npcId, getRandomEntry(partyMembers));
|
||||
}
|
||||
}
|
||||
else if (qs.isStarted())
|
||||
|
@@ -87,19 +87,19 @@ public class Q10281_MutatedKaneusRune extends Quest
|
||||
final int npcId = npc.getId();
|
||||
if (killer.getParty() != null)
|
||||
{
|
||||
final List<PlayerInstance> PartyMembers = new ArrayList<>();
|
||||
final List<PlayerInstance> partyMembers = new ArrayList<>();
|
||||
for (PlayerInstance member : killer.getParty().getMembers())
|
||||
{
|
||||
qs = getQuestState(member, false);
|
||||
if ((qs != null) && qs.isStarted() && !hasQuestItems(member, TISSUE_WA))
|
||||
{
|
||||
PartyMembers.add(member);
|
||||
partyMembers.add(member);
|
||||
}
|
||||
}
|
||||
|
||||
if (!PartyMembers.isEmpty())
|
||||
if (!partyMembers.isEmpty())
|
||||
{
|
||||
rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size())));
|
||||
rewardItem(npcId, getRandomEntry(partyMembers));
|
||||
}
|
||||
}
|
||||
else if (qs.isStarted() && !hasQuestItems(killer, TISSUE_WA))
|
||||
|
Reference in New Issue
Block a user