Prohibit parameter assignments.
This commit is contained in:
@@ -54,9 +54,9 @@ public class Wisp extends AbstractNpcAI
|
||||
{
|
||||
if (event.equals("DELETE_NPC"))
|
||||
{
|
||||
params = new StatSet();
|
||||
params.set("LOCATION_OBJECT", npc.getLocation());
|
||||
getTimers().addTimer("RESPAWN_WISP_" + npc.getObjectId(), params, getRandom(RESPAWN_MIN, RESPAWN_MAX), null, null);
|
||||
final StatSet statSet = new StatSet();
|
||||
statSet.set("LOCATION_OBJECT", npc.getLocation());
|
||||
getTimers().addTimer("RESPAWN_WISP_" + npc.getObjectId(), statSet, getRandom(RESPAWN_MIN, RESPAWN_MAX), null, null);
|
||||
npc.deleteMe();
|
||||
}
|
||||
else
|
||||
|
@@ -106,11 +106,12 @@ public class DarkWaterDragon extends AbstractNpcAI
|
||||
cancelQuestTimer("2", npc, null);
|
||||
cancelQuestTimer("3", npc, null);
|
||||
cancelQuestTimer("4", npc, null);
|
||||
|
||||
MY_TRACKING_SET.remove(npc.getObjectId());
|
||||
player = ID_MAP.remove(npc.getObjectId());
|
||||
if (player != null)
|
||||
final PlayerInstance removed = ID_MAP.remove(npc.getObjectId());
|
||||
if (removed != null)
|
||||
{
|
||||
((Attackable) npc).doItemDrop(NpcData.getInstance().getTemplate(18485), player);
|
||||
((Attackable) npc).doItemDrop(NpcData.getInstance().getTemplate(18485), removed);
|
||||
}
|
||||
|
||||
npc.deleteMe();
|
||||
|
@@ -358,6 +358,7 @@ public class Beleth extends AbstractNpcAI
|
||||
{
|
||||
_minions.clear();
|
||||
|
||||
Npc spawn;
|
||||
int a = 0;
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
@@ -365,12 +366,12 @@ public class Beleth extends AbstractNpcAI
|
||||
|
||||
final int x = (int) ((650 * Math.cos(i * 0.39)) + 16323);
|
||||
final int y = (int) ((650 * Math.sin(i * 0.39)) + 213170);
|
||||
npc = addSpawn(FAKE_BELETH, new Location(x, y, -9357, 49152));
|
||||
_minions.add(npc);
|
||||
spawn = addSpawn(FAKE_BELETH, new Location(x, y, -9357, 49152));
|
||||
_minions.add(spawn);
|
||||
|
||||
if (a >= 2)
|
||||
{
|
||||
npc.setOverloaded(true);
|
||||
spawn.setOverloaded(true);
|
||||
a = 0;
|
||||
}
|
||||
}
|
||||
@@ -381,33 +382,31 @@ public class Beleth extends AbstractNpcAI
|
||||
{
|
||||
xm[i] = (int) ((1700 * Math.cos((i * 1.57) + 0.78)) + 16323);
|
||||
ym[i] = (int) ((1700 * Math.sin((i * 1.57) + 0.78)) + 213170);
|
||||
npc = addSpawn(FAKE_BELETH, new Location(xm[i], ym[i], -9357, 49152));
|
||||
npc.setImmobilized(true);
|
||||
|
||||
_minions.add(npc);
|
||||
spawn = addSpawn(FAKE_BELETH, new Location(xm[i], ym[i], -9357, 49152));
|
||||
spawn.setImmobilized(true);
|
||||
_minions.add(spawn);
|
||||
}
|
||||
|
||||
xm[4] = (xm[0] + xm[1]) / 2;
|
||||
ym[4] = (ym[0] + ym[1]) / 2;
|
||||
npc = addSpawn(FAKE_BELETH, new Location(xm[4], ym[4], -9357, 49152));
|
||||
npc.setImmobilized(true);
|
||||
_minions.add(npc);
|
||||
spawn = addSpawn(FAKE_BELETH, new Location(xm[4], ym[4], -9357, 49152));
|
||||
spawn.setImmobilized(true);
|
||||
_minions.add(spawn);
|
||||
xm[5] = (xm[1] + xm[2]) / 2;
|
||||
ym[5] = (ym[1] + ym[2]) / 2;
|
||||
npc = addSpawn(FAKE_BELETH, new Location(xm[5], ym[5], -9357, 49152));
|
||||
npc.setImmobilized(true);
|
||||
_minions.add(npc);
|
||||
spawn = addSpawn(FAKE_BELETH, new Location(xm[5], ym[5], -9357, 49152));
|
||||
spawn.setImmobilized(true);
|
||||
_minions.add(spawn);
|
||||
xm[6] = (xm[2] + xm[3]) / 2;
|
||||
ym[6] = (ym[2] + ym[3]) / 2;
|
||||
npc = addSpawn(FAKE_BELETH, new Location(xm[6], ym[6], -9357, 49152));
|
||||
npc.setImmobilized(true);
|
||||
_minions.add(npc);
|
||||
spawn = addSpawn(FAKE_BELETH, new Location(xm[6], ym[6], -9357, 49152));
|
||||
spawn.setImmobilized(true);
|
||||
_minions.add(spawn);
|
||||
xm[7] = (xm[3] + xm[0]) / 2;
|
||||
ym[7] = (ym[3] + ym[0]) / 2;
|
||||
npc = addSpawn(FAKE_BELETH, new Location(xm[7], ym[7], -9357, 49152));
|
||||
npc.setImmobilized(true);
|
||||
_minions.add(npc);
|
||||
|
||||
spawn = addSpawn(FAKE_BELETH, new Location(xm[7], ym[7], -9357, 49152));
|
||||
spawn.setImmobilized(true);
|
||||
_minions.add(spawn);
|
||||
xm[8] = (xm[0] + xm[4]) / 2;
|
||||
ym[8] = (ym[0] + ym[4]) / 2;
|
||||
_minions.add(addSpawn(FAKE_BELETH, new Location(xm[8], ym[8], -9357, 49152)));
|
||||
|
@@ -92,23 +92,23 @@ public class KimerianCommon extends AbstractInstance
|
||||
{
|
||||
case "HELPER_TIME_ACTION":
|
||||
{
|
||||
player = npc.getVariables().getObject("PC_INSTANCE", PlayerInstance.class);
|
||||
if (player != null)
|
||||
final PlayerInstance pc = npc.getVariables().getObject("PC_INSTANCE", PlayerInstance.class);
|
||||
if (pc != null)
|
||||
{
|
||||
final double distance = npc.calculateDistance2D(player);
|
||||
final double distance = npc.calculateDistance2D(pc);
|
||||
if (distance > 1000)
|
||||
{
|
||||
npc.teleToLocation(new Location(player.getX() + getRandom(-100, 100), player.getY() + getRandom(-100, 100), player.getZ() + 50));
|
||||
npc.teleToLocation(new Location(pc.getX() + getRandom(-100, 100), pc.getY() + getRandom(-100, 100), pc.getZ() + 50));
|
||||
}
|
||||
else if (!npc.isAttackingNow() && (distance > 250))
|
||||
{
|
||||
npc.setRunning();
|
||||
addMoveToDesire(npc, new Location(player.getX() + getRandom(-100, 100), player.getY() + getRandom(-100, 100), player.getZ() + 50), 23);
|
||||
addMoveToDesire(npc, new Location(pc.getX() + getRandom(-100, 100), pc.getY() + getRandom(-100, 100), pc.getZ() + 50), 23);
|
||||
}
|
||||
else if (!npc.isInCombat() || !npc.isAttackingNow() || (npc.getTarget() == null))
|
||||
{
|
||||
final Creature monster = (Creature) player.getTarget();
|
||||
if ((monster != null) && monster.isMonster() && player.isInCombat())
|
||||
final Creature monster = (Creature) pc.getTarget();
|
||||
if ((monster != null) && monster.isMonster() && pc.isInCombat())
|
||||
{
|
||||
addAttackDesire(npc, monster);
|
||||
}
|
||||
|
@@ -44,6 +44,7 @@ public class BlackMarketeerOfMammon extends AbstractNpcAI
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = event;
|
||||
if (event.equals("31092-01.html"))
|
||||
{
|
||||
return event;
|
||||
@@ -51,7 +52,7 @@ public class BlackMarketeerOfMammon extends AbstractNpcAI
|
||||
else if (event.startsWith("exchange"))
|
||||
{
|
||||
final StringTokenizer st = new StringTokenizer(event, " ");
|
||||
event = st.nextToken();
|
||||
htmltext = st.nextToken();
|
||||
if (!st.hasMoreElements())
|
||||
{
|
||||
return "31092-02.html";
|
||||
@@ -78,7 +79,7 @@ public class BlackMarketeerOfMammon extends AbstractNpcAI
|
||||
giveAdena(player, count, false);
|
||||
return "31092-04.html";
|
||||
}
|
||||
return super.onAdvEvent(event, npc, player);
|
||||
return super.onAdvEvent(htmltext, npc, player);
|
||||
}
|
||||
|
||||
public static void main(String[] args)
|
||||
|
@@ -386,8 +386,9 @@ public class CastleCourtMagician extends AbstractNpcAI
|
||||
return ((player.getClan() != null) && (player.getClanId() == npc.getCastle().getOwnerId())) ? "courtmagician.html" : "courtmagician-01.html";
|
||||
}
|
||||
|
||||
private void showClassSpecificMultisell(PlayerInstance player, Npc npc, int index)
|
||||
private void showClassSpecificMultisell(PlayerInstance player, Npc npc, int indexValue)
|
||||
{
|
||||
int index = indexValue;
|
||||
for (CategoryType ct : AWAKENED_CT)
|
||||
{
|
||||
if (player.isInCategory(ct))
|
||||
|
@@ -471,8 +471,9 @@ public class ClanHallManager extends AbstractNpcAI
|
||||
World.getInstance().forEachVisibleObject(npc, PlayerInstance.class, player -> player.sendPacket(new AgitDecoInfo(clanHall)));
|
||||
}
|
||||
|
||||
private String getFunctionInfo(ResidenceFunction func, String htmltext, String name)
|
||||
private String getFunctionInfo(ResidenceFunction func, String htmltextValue, String name)
|
||||
{
|
||||
String htmltext = htmltextValue;
|
||||
if (func != null)
|
||||
{
|
||||
htmltext = htmltext.replaceAll("%" + name + "recovery%", String.valueOf((int) func.getTemplate().getValue()) + "%");
|
||||
|
@@ -235,7 +235,7 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
public String onAdvEvent(String eventValue, Npc npc, PlayerInstance player)
|
||||
{
|
||||
if (!_isEnabled)
|
||||
{
|
||||
@@ -243,6 +243,7 @@ public class ClassMaster extends AbstractNpcAI implements IXmlReader
|
||||
}
|
||||
|
||||
String htmltext = null;
|
||||
String event = eventValue;
|
||||
final StringTokenizer st = new StringTokenizer(event);
|
||||
event = st.nextToken();
|
||||
switch (event)
|
||||
|
@@ -89,11 +89,11 @@ public class HermuncusMinion extends AbstractNpcAI
|
||||
}
|
||||
|
||||
@Override
|
||||
public String onAdvEvent(String event, Npc npc, PlayerInstance player)
|
||||
public String onAdvEvent(String eventValue, Npc npc, PlayerInstance player)
|
||||
{
|
||||
String htmltext = null;
|
||||
final StringTokenizer st = new StringTokenizer(event, " ");
|
||||
event = st.nextToken();
|
||||
final StringTokenizer st = new StringTokenizer(eventValue, " ");
|
||||
final String event = st.nextToken();
|
||||
if (event.equals("teleportList"))
|
||||
{
|
||||
if (!player.isInCategory(CategoryType.SIXTH_CLASS_GROUP))
|
||||
|
@@ -61,8 +61,9 @@ public class AdminBuffs implements IAdminCommandHandler
|
||||
private static final String FONT_RED2 = "</font>";
|
||||
|
||||
@Override
|
||||
public boolean useAdminCommand(String command, PlayerInstance activeChar)
|
||||
public boolean useAdminCommand(String commandValue, PlayerInstance activeChar)
|
||||
{
|
||||
String command = commandValue;
|
||||
if (command.startsWith("admin_buff"))
|
||||
{
|
||||
if ((activeChar.getTarget() == null) || !activeChar.getTarget().isCreature())
|
||||
|
@@ -1098,8 +1098,9 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
activeChar.sendPacket(html);
|
||||
}
|
||||
|
||||
private void showCharacterInfo(PlayerInstance activeChar, PlayerInstance player)
|
||||
private void showCharacterInfo(PlayerInstance activeChar, PlayerInstance targetPlayer)
|
||||
{
|
||||
PlayerInstance player = targetPlayer;
|
||||
if (player == null)
|
||||
{
|
||||
final WorldObject target = activeChar.getTarget();
|
||||
@@ -1201,7 +1202,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
activeChar.sendPacket(adminReply);
|
||||
}
|
||||
|
||||
private void setTargetReputation(PlayerInstance activeChar, int newReputation)
|
||||
private void setTargetReputation(PlayerInstance activeChar, int value)
|
||||
{
|
||||
final WorldObject target = activeChar.getTarget();
|
||||
PlayerInstance player = null;
|
||||
@@ -1214,6 +1215,7 @@ public class AdminEditChar implements IAdminCommandHandler
|
||||
return;
|
||||
}
|
||||
|
||||
int newReputation = value;
|
||||
if (newReputation > Config.MAX_REPUTATION)
|
||||
{
|
||||
newReputation = Config.MAX_REPUTATION;
|
||||
|
@@ -109,8 +109,9 @@ public class AdminEffects implements IAdminCommandHandler
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean useAdminCommand(String command, PlayerInstance activeChar)
|
||||
public boolean useAdminCommand(String commandValue, PlayerInstance activeChar)
|
||||
{
|
||||
String command = commandValue;
|
||||
final StringTokenizer st = new StringTokenizer(command);
|
||||
st.nextToken();
|
||||
|
||||
|
@@ -160,10 +160,10 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
|
||||
private void handleShow(String params, PlayerInstance activeChar)
|
||||
{
|
||||
params = params.trim();
|
||||
String trimmedParams = params.trim();
|
||||
Creature npc1 = null;
|
||||
Creature npc2 = null;
|
||||
if (params.isEmpty())
|
||||
if (trimmedParams.isEmpty())
|
||||
{
|
||||
npc1 = activeChar;
|
||||
npc2 = (Creature) activeChar.getTarget();
|
||||
@@ -177,7 +177,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
{
|
||||
int mid1 = 0;
|
||||
int mid2 = 0;
|
||||
final StringTokenizer st = new StringTokenizer(params);
|
||||
final StringTokenizer st = new StringTokenizer(trimmedParams);
|
||||
mid1 = Integer.parseInt(st.nextToken());
|
||||
mid2 = Integer.parseInt(st.nextToken());
|
||||
npc1 = new MonsterInstance(NpcData.getInstance().getTemplate(mid1));
|
||||
@@ -291,7 +291,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
final NpcHtmlMessage adminReply = new NpcHtmlMessage(0, 1);
|
||||
final StringBuilder replyMSG = new StringBuilder(1000);
|
||||
replyMSG.append("<html><title>Selected mobs to fight</title><body><table>");
|
||||
if (params.isEmpty())
|
||||
if (trimmedParams.isEmpty())
|
||||
{
|
||||
replyMSG.append("<tr><td width=140>Parameter</td><td width=70>me</td><td width=70>target</td></tr>");
|
||||
}
|
||||
@@ -321,7 +321,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
|
||||
replyMSG.append("</tr></table><center><br>");
|
||||
|
||||
if (params.isEmpty())
|
||||
if (trimmedParams.isEmpty())
|
||||
{
|
||||
replyMSG.append("<button value=\"Retry\" action=\"bypass -h admin_fight_calculator_show\" width=100 height=15 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
|
||||
}
|
||||
@@ -334,7 +334,7 @@ public class AdminFightCalculator implements IAdminCommandHandler
|
||||
adminReply.setHtml(replyMSG.toString());
|
||||
activeChar.sendPacket(adminReply);
|
||||
|
||||
if (params.length() != 0)
|
||||
if (trimmedParams.length() != 0)
|
||||
{
|
||||
npc1.deleteMe();
|
||||
npc2.deleteMe();
|
||||
|
@@ -49,8 +49,9 @@ public class AdminFortSiege implements IAdminCommandHandler
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean useAdminCommand(String command, PlayerInstance activeChar)
|
||||
public boolean useAdminCommand(String commandValue, PlayerInstance activeChar)
|
||||
{
|
||||
String command = commandValue;
|
||||
final StringTokenizer st = new StringTokenizer(command, " ");
|
||||
command = st.nextToken(); // Get actual command
|
||||
|
||||
|
@@ -37,9 +37,10 @@ public class AdminInstanceZone implements IAdminCommandHandler
|
||||
};
|
||||
|
||||
@Override
|
||||
public boolean useAdminCommand(String command, PlayerInstance activeChar)
|
||||
public boolean useAdminCommand(String commandValue, PlayerInstance activeChar)
|
||||
{
|
||||
final String target = (activeChar.getTarget() != null) ? activeChar.getTarget().getName() : "no-target";
|
||||
String command = commandValue;
|
||||
GMAudit.auditGMAction(activeChar.getName(), command, target, "");
|
||||
if (command.startsWith("admin_instancezone_clear"))
|
||||
{
|
||||
|
@@ -86,8 +86,9 @@ public class AdminSkill implements IAdminCommandHandler
|
||||
private static Skill[] adminSkills;
|
||||
|
||||
@Override
|
||||
public boolean useAdminCommand(String command, PlayerInstance activeChar)
|
||||
public boolean useAdminCommand(String commandValue, PlayerInstance activeChar)
|
||||
{
|
||||
String command = commandValue;
|
||||
if (command.equals("admin_show_skills"))
|
||||
{
|
||||
showMainPage(activeChar);
|
||||
@@ -343,9 +344,9 @@ public class AdminSkill implements IAdminCommandHandler
|
||||
/**
|
||||
* TODO: Externalize HTML
|
||||
* @param activeChar the active Game Master.
|
||||
* @param page
|
||||
* @param pageValue
|
||||
*/
|
||||
private void removeSkillsPage(PlayerInstance activeChar, int page)
|
||||
private void removeSkillsPage(PlayerInstance activeChar, int pageValue)
|
||||
{
|
||||
final WorldObject target = activeChar.getTarget();
|
||||
if ((target == null) || !target.isPlayer())
|
||||
@@ -363,6 +364,7 @@ public class AdminSkill implements IAdminCommandHandler
|
||||
maxPages++;
|
||||
}
|
||||
|
||||
int page = pageValue;
|
||||
if (page > maxPages)
|
||||
{
|
||||
page = maxPages;
|
||||
|
@@ -501,7 +501,7 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
}
|
||||
}
|
||||
|
||||
private void spawnMonster(PlayerInstance activeChar, String monsterId, int respawnTime, int mobCount, boolean permanent)
|
||||
private void spawnMonster(PlayerInstance activeChar, String monsterIdValue, int respawnTime, int mobCount, boolean permanentValue)
|
||||
{
|
||||
WorldObject target = activeChar.getTarget();
|
||||
if (target == null)
|
||||
@@ -510,6 +510,7 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
}
|
||||
|
||||
final NpcTemplate template1;
|
||||
String monsterId = monsterIdValue;
|
||||
if (monsterId.matches("[0-9]*"))
|
||||
{
|
||||
// First parameter was an ID number
|
||||
@@ -536,6 +537,8 @@ public class AdminSpawn implements IAdminCommandHandler
|
||||
spawn.setAmount(mobCount);
|
||||
spawn.setHeading(activeChar.getHeading());
|
||||
spawn.setRespawnDelay(respawnTime);
|
||||
|
||||
boolean permanent = permanentValue;
|
||||
if (activeChar.isInInstance())
|
||||
{
|
||||
spawn.setInstanceId(activeChar.getInstanceId());
|
||||
|
@@ -343,7 +343,7 @@ public class NpcViewMod implements IBypassHandler
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private void sendNpcDropList(PlayerInstance player, Npc npc, DropType dropType, int page)
|
||||
private void sendNpcDropList(PlayerInstance player, Npc npc, DropType dropType, int pageValue)
|
||||
{
|
||||
final List<DropHolder> dropList = npc.getTemplate().getDropList(dropType);
|
||||
if (dropList == null)
|
||||
@@ -368,6 +368,7 @@ public class NpcViewMod implements IBypassHandler
|
||||
pagesSb.append("</tr></table>");
|
||||
}
|
||||
|
||||
int page = pageValue;
|
||||
if (page >= pages)
|
||||
{
|
||||
page = pages - 1;
|
||||
|
@@ -101,17 +101,18 @@ public class QuestLink implements IBypassHandler
|
||||
.collect(Collectors.toSet());
|
||||
//@formatter:on
|
||||
|
||||
Collection<Quest> questList = quests;
|
||||
if (Config.ORDER_QUEST_LIST_BY_QUESTID)
|
||||
{
|
||||
final Map<Integer, Quest> orderedQuests = new TreeMap<>(); // Use TreeMap to order quests
|
||||
for (Quest q : quests)
|
||||
for (Quest q : questList)
|
||||
{
|
||||
orderedQuests.put(q.getId(), q);
|
||||
}
|
||||
quests = orderedQuests.values();
|
||||
questList = orderedQuests.values();
|
||||
}
|
||||
|
||||
for (Quest quest : quests)
|
||||
for (Quest quest : questList)
|
||||
{
|
||||
final QuestState qs = player.getQuestState(quest.getScriptName());
|
||||
if ((qs == null) || qs.isCreated() || (qs.isCompleted() && qs.isNowAvailable()))
|
||||
|
@@ -43,7 +43,7 @@ public class ChatGeneral implements IChatHandler
|
||||
};
|
||||
|
||||
@Override
|
||||
public void handleChat(ChatType type, PlayerInstance activeChar, String params, String text)
|
||||
public void handleChat(ChatType type, PlayerInstance activeChar, String paramsValue, String text)
|
||||
{
|
||||
boolean vcdUsed = false;
|
||||
if (text.startsWith("."))
|
||||
@@ -51,6 +51,7 @@ public class ChatGeneral implements IChatHandler
|
||||
final StringTokenizer st = new StringTokenizer(text);
|
||||
final IVoicedCommandHandler vch;
|
||||
String command = "";
|
||||
String params = paramsValue;
|
||||
if (st.countTokens() > 1)
|
||||
{
|
||||
command = st.nextToken().substring(1);
|
||||
|
@@ -176,8 +176,9 @@ public class ClanBoard implements IWriteBoardHandler
|
||||
}
|
||||
}
|
||||
|
||||
private void clanList(PlayerInstance player, int index)
|
||||
private void clanList(PlayerInstance player, int indexValue)
|
||||
{
|
||||
int index = indexValue;
|
||||
if (index < 1)
|
||||
{
|
||||
index = 1;
|
||||
|
@@ -45,8 +45,9 @@ public class AddHate extends AbstractEffect
|
||||
}
|
||||
|
||||
@Override
|
||||
public void instant(Creature effector, Creature effected, Skill skill, ItemInstance item)
|
||||
public void instant(Creature creature, Creature effected, Skill skill, ItemInstance item)
|
||||
{
|
||||
Creature effector = creature;
|
||||
if (_affectSummoner && (effector.getSummoner() != null))
|
||||
{
|
||||
effector = effector.getSummoner();
|
||||
|
@@ -98,11 +98,11 @@ public class Nursery extends AbstractInstance
|
||||
{
|
||||
if (gameTime == 0)
|
||||
{
|
||||
player = instance.getFirstPlayer();
|
||||
if ((player != null) && hasQuestItems(player, SCORE_ITEM))
|
||||
final PlayerInstance firstPlayer = instance.getFirstPlayer();
|
||||
if ((firstPlayer != null) && hasQuestItems(firstPlayer, SCORE_ITEM))
|
||||
{
|
||||
final int itemCount = (int) getQuestItemsCount(player, SCORE_ITEM);
|
||||
takeItems(player, SCORE_ITEM, itemCount);
|
||||
final int itemCount = (int) getQuestItemsCount(firstPlayer, SCORE_ITEM);
|
||||
takeItems(firstPlayer, SCORE_ITEM, itemCount);
|
||||
npcVars.increaseInt("GAME_POINTS", 0, itemCount);
|
||||
}
|
||||
instance.despawnGroup("GAME_MONSTERS");
|
||||
|
@@ -198,45 +198,42 @@ public class Q00126_TheNameOfEvil2 extends Quest
|
||||
case "DO_One":
|
||||
{
|
||||
qs.set("DO", "1");
|
||||
event = "32122-4d.html";
|
||||
break;
|
||||
return "32122-4d.html";
|
||||
}
|
||||
case "MI_One":
|
||||
{
|
||||
qs.set("MI", "1");
|
||||
event = "32122-4f.html";
|
||||
break;
|
||||
return "32122-4f.html";
|
||||
}
|
||||
case "FA_One":
|
||||
{
|
||||
qs.set("FA", "1");
|
||||
event = "32122-4h.html";
|
||||
break;
|
||||
return "32122-4h.html";
|
||||
}
|
||||
case "SOL_One":
|
||||
{
|
||||
qs.set("SOL", "1");
|
||||
event = "32122-4j.html";
|
||||
break;
|
||||
return "32122-4j.html";
|
||||
}
|
||||
case "FA2_One":
|
||||
{
|
||||
qs.set("FA2", "1");
|
||||
if (qs.isCond(14) && (qs.getInt("DO") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("FA2") > 0))
|
||||
{
|
||||
event = "32122-4n.html";
|
||||
qs.setCond(15, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
event = "32122-4m.html";
|
||||
qs.unset("DO");
|
||||
qs.unset("MI");
|
||||
qs.unset("FA");
|
||||
qs.unset("SOL");
|
||||
qs.unset("FA2");
|
||||
return "32122-4n.html";
|
||||
}
|
||||
qs.unset("DO");
|
||||
qs.unset("MI");
|
||||
qs.unset("FA");
|
||||
qs.unset("SOL");
|
||||
qs.unset("FA2");
|
||||
break;
|
||||
return "32122-4m.html";
|
||||
}
|
||||
case "32122-4m.html":
|
||||
{
|
||||
@@ -250,45 +247,42 @@ public class Q00126_TheNameOfEvil2 extends Quest
|
||||
case "FA_Two":
|
||||
{
|
||||
qs.set("FA", "1");
|
||||
event = "32122-5a.html";
|
||||
break;
|
||||
return "32122-5a.html";
|
||||
}
|
||||
case "SOL_Two":
|
||||
{
|
||||
qs.set("SOL", "1");
|
||||
event = "32122-5c.html";
|
||||
break;
|
||||
return "32122-5c.html";
|
||||
}
|
||||
case "TI_Two":
|
||||
{
|
||||
qs.set("TI", "1");
|
||||
event = "32122-5e.html";
|
||||
break;
|
||||
return "32122-5e.html";
|
||||
}
|
||||
case "SOL2_Two":
|
||||
{
|
||||
qs.set("SOL2", "1");
|
||||
event = "32122-5g.html";
|
||||
break;
|
||||
return "32122-5g.html";
|
||||
}
|
||||
case "FA2_Two":
|
||||
{
|
||||
qs.set("FA2", "1");
|
||||
if (qs.isCond(15) && (qs.getInt("FA") > 0) && (qs.getInt("SOL") > 0) && (qs.getInt("TI") > 0) && (qs.getInt("SOL2") > 0) && (qs.getInt("FA2") > 0))
|
||||
{
|
||||
event = "32122-5j.html";
|
||||
qs.setCond(16, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
event = "32122-5i.html";
|
||||
qs.unset("FA");
|
||||
qs.unset("SOL");
|
||||
qs.unset("TI");
|
||||
qs.unset("SOL2");
|
||||
qs.unset("FA2");
|
||||
return "32122-5j.html";
|
||||
}
|
||||
qs.unset("FA");
|
||||
qs.unset("SOL");
|
||||
qs.unset("TI");
|
||||
qs.unset("SOL2");
|
||||
qs.unset("FA2");
|
||||
break;
|
||||
return "32122-5i.html";
|
||||
}
|
||||
case "32122-5i.html":
|
||||
{
|
||||
@@ -302,45 +296,42 @@ public class Q00126_TheNameOfEvil2 extends Quest
|
||||
case "SOL_Three":
|
||||
{
|
||||
qs.set("SOL", "1");
|
||||
event = "32122-6a.html";
|
||||
break;
|
||||
return "32122-6a.html";
|
||||
}
|
||||
case "FA_Three":
|
||||
{
|
||||
qs.set("FA", "1");
|
||||
event = "32122-6c.html";
|
||||
break;
|
||||
return "32122-6c.html";
|
||||
}
|
||||
case "MI_Three":
|
||||
{
|
||||
qs.set("MI", "1");
|
||||
event = "32122-6e.html";
|
||||
break;
|
||||
return "32122-6e.html";
|
||||
}
|
||||
case "FA2_Three":
|
||||
{
|
||||
qs.set("FA2", "1");
|
||||
event = "32122-6g.html";
|
||||
break;
|
||||
return "32122-6g.html";
|
||||
}
|
||||
case "MI2_Three":
|
||||
{
|
||||
qs.set("MI2", "1");
|
||||
if (qs.isCond(16) && (qs.getInt("SOL") > 0) && (qs.getInt("FA") > 0) && (qs.getInt("MI") > 0) && (qs.getInt("FA2") > 0) && (qs.getInt("MI2") > 0))
|
||||
{
|
||||
event = "32122-6j.html";
|
||||
qs.setCond(17, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
event = "32122-6i.html";
|
||||
qs.unset("SOL");
|
||||
qs.unset("FA");
|
||||
qs.unset("MI");
|
||||
qs.unset("FA2");
|
||||
qs.unset("MI2");
|
||||
return "32122-6j.html";
|
||||
}
|
||||
qs.unset("SOL");
|
||||
qs.unset("FA");
|
||||
qs.unset("MI");
|
||||
qs.unset("FA2");
|
||||
qs.unset("MI2");
|
||||
break;
|
||||
return "32122-6i.html";
|
||||
}
|
||||
case "32122-6i.html":
|
||||
{
|
||||
|
@@ -310,30 +310,32 @@ public class Q00386_StolenDignity extends Quest
|
||||
|
||||
private String fillBoard(QuestState qs, String html)
|
||||
{
|
||||
String result = html;
|
||||
for (int i0 = 0; i0 < 9; i0 += 1)
|
||||
{
|
||||
final int i1 = getNumberFromBingoBoard(qs, i0);
|
||||
if (isSelectedBingoNumber(qs, i1))
|
||||
{
|
||||
html = html.replace("<?Cell" + (i0 + 1) + "?>", Integer.toString(i1));
|
||||
result = result.replace("<?Cell" + (i0 + 1) + "?>", Integer.toString(i1));
|
||||
}
|
||||
else
|
||||
{
|
||||
html = html.replace("<?Cell" + (i0 + 1) + "?>", "?");
|
||||
result = result.replace("<?Cell" + (i0 + 1) + "?>", "?");
|
||||
}
|
||||
}
|
||||
return html;
|
||||
return result;
|
||||
}
|
||||
|
||||
private String colorBoard(QuestState qs, String html)
|
||||
{
|
||||
String result = html;
|
||||
for (int i0 = 0; i0 < 9; i0 += 1)
|
||||
{
|
||||
final int i1 = getNumberFromBingoBoard(qs, i0);
|
||||
html = html.replace("<?FontColor" + (i0 + 1) + "?>", isSelectedBingoNumber(qs, i1) ? "ff0000" : "ffffff");
|
||||
html = html.replace("<?Cell" + (i0 + 1) + "?>", Integer.toString(i1));
|
||||
result = result.replace("<?FontColor" + (i0 + 1) + "?>", isSelectedBingoNumber(qs, i1) ? "ff0000" : "ffffff");
|
||||
result = result.replace("<?Cell" + (i0 + 1) + "?>", Integer.toString(i1));
|
||||
}
|
||||
return html;
|
||||
return result;
|
||||
}
|
||||
|
||||
private String beforeReward(PlayerInstance player, QuestState qs, int num)
|
||||
|
@@ -102,7 +102,7 @@ public class Q00500_BrothersBoundInChains extends Quest
|
||||
}
|
||||
else
|
||||
{
|
||||
event = "30981-05.html";
|
||||
return "30981-05.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -123,13 +123,13 @@ public class Q00500_BrothersBoundInChains extends Quest
|
||||
{
|
||||
// If player delete QuestItems: Need check how it work on retail.
|
||||
qs.setCond(1);
|
||||
event = "30981-07.html";
|
||||
return "30981-07.html";
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
event = getNoQuestMsg(player);
|
||||
return getNoQuestMsg(player);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -189,12 +189,9 @@ public class Q00663_SeductiveWhispers extends Quest
|
||||
// practice
|
||||
if (getQuestItemsCount(player, SPIRIT_BEAD) < 1)
|
||||
{
|
||||
event = "30846-13.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
takeItems(player, SPIRIT_BEAD, 1);
|
||||
return "30846-13.html";
|
||||
}
|
||||
takeItems(player, SPIRIT_BEAD, 1);
|
||||
break;
|
||||
}
|
||||
case "30846-22.html":
|
||||
@@ -207,8 +204,7 @@ public class Q00663_SeductiveWhispers extends Quest
|
||||
{
|
||||
playerCard = getRandomCard();
|
||||
}
|
||||
event = play(player, true, true);
|
||||
break;
|
||||
return play(player, true, true);
|
||||
}
|
||||
case "30846-23.html":
|
||||
{
|
||||
@@ -221,19 +217,15 @@ public class Q00663_SeductiveWhispers extends Quest
|
||||
{
|
||||
npcCard = getRandomCard();
|
||||
}
|
||||
event = play(player, false, true);
|
||||
break;
|
||||
return play(player, false, true);
|
||||
}
|
||||
case "30846-15.html":
|
||||
{
|
||||
if (getQuestItemsCount(player, SPIRIT_BEAD) < 50)
|
||||
{
|
||||
event = "30846-08.html";
|
||||
}
|
||||
else
|
||||
{
|
||||
takeItems(player, SPIRIT_BEAD, 50);
|
||||
return "30846-08.html";
|
||||
}
|
||||
takeItems(player, SPIRIT_BEAD, 50);
|
||||
break;
|
||||
}
|
||||
case "30846-16.html":
|
||||
@@ -247,8 +239,7 @@ public class Q00663_SeductiveWhispers extends Quest
|
||||
{
|
||||
playerCard = getRandomCard();
|
||||
}
|
||||
event = play(player, true, false);
|
||||
break;
|
||||
return play(player, true, false);
|
||||
}
|
||||
case "30846-17.html":
|
||||
{
|
||||
@@ -262,9 +253,7 @@ public class Q00663_SeductiveWhispers extends Quest
|
||||
{
|
||||
npcCard = getRandomCard();
|
||||
}
|
||||
|
||||
event = play(player, false, false);
|
||||
break;
|
||||
return play(player, false, false);
|
||||
}
|
||||
case "30846-20.html":
|
||||
{
|
||||
@@ -484,6 +473,7 @@ public class Q00663_SeductiveWhispers extends Quest
|
||||
{
|
||||
SUN("Sun card"),
|
||||
MOON("Moon card");
|
||||
|
||||
private String _name;
|
||||
|
||||
Side(String name)
|
||||
|
Reference in New Issue
Block a user