Fixed Anakim/Lilith teleporter NPE.

This commit is contained in:
MobiusDev
2017-01-15 17:51:09 +00:00
parent d221591b8a
commit dc528f1936
2 changed files with 51 additions and 41 deletions

View File

@@ -471,7 +471,7 @@ public class Anakim extends AbstractNpcAI
{ {
if ((npc.getId() == ENTER_CUBIC) || (npc.getId() == ANAKIM_CUBIC)) if ((npc.getId() == ENTER_CUBIC) || (npc.getId() == ANAKIM_CUBIC))
{ {
int _anakimStatus = GrandBossManager.getInstance().getBossStatus(ANAKIM); final int _anakimStatus = GrandBossManager.getInstance().getBossStatus(ANAKIM);
if ((npc.getId() == ENTER_CUBIC) && (_anakimStatus > ALIVE)) if ((npc.getId() == ENTER_CUBIC) && (_anakimStatus > ALIVE))
{ {
return "31101-01.html"; return "31101-01.html";
@@ -492,23 +492,29 @@ public class Anakim extends AbstractNpcAI
{ {
return "31101-03.html"; return "31101-03.html";
} }
else if ((((L2Character) members).getParty().getLevel() < Config.ANAKIM_MIN_PLAYER_LVL) || (((L2Character) members).getParty().getLevel() > Config.ANAKIM_MAX_PLAYER_LVL))
if ((members.size() < Config.ANAKIM_MIN_PLAYERS) || (members.size() > Config.ANAKIM_MAX_PLAYERS))
{
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
packet.setHtml(getHtm(player.getHtmlPrefix(), "31101-02.html"));
packet.replace("%min%", Integer.toString(Config.ANAKIM_MIN_PLAYERS));
player.sendPacket(packet);
return null;
}
for (L2PcInstance member : members)
{
if ((member.getLevel() < Config.ANAKIM_MIN_PLAYER_LVL) || (member.getLevel() > Config.ANAKIM_MAX_PLAYER_LVL))
{ {
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId()); final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
packet.setHtml(getHtm(player.getHtmlPrefix(), "31101-04.html")); packet.setHtml(getHtm(player.getHtmlPrefix(), "31101-04.html"));
packet.replace("%minlvl%", Integer.toString(Config.ANAKIM_MIN_PLAYER_LVL)); packet.replace("%minlvl%", Integer.toString(Config.ANAKIM_MIN_PLAYER_LVL));
packet.replace("%maxlvl%", Integer.toString(Config.ANAKIM_MAX_PLAYER_LVL)); packet.replace("%maxlvl%", Integer.toString(Config.ANAKIM_MAX_PLAYER_LVL));
player.sendPacket(packet); player.sendPacket(packet);
return null;
} }
else if ((members.size() < Config.ANAKIM_MIN_PLAYERS) || (members.size() > Config.ANAKIM_MAX_PLAYERS))
{
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
packet.setHtml(getHtm(player.getHtmlPrefix(), "31101-02.html"));
packet.replace("%min%", Integer.toString(Config.ANAKIM_MIN_PLAYERS));
player.sendPacket(packet);
} }
else
{
for (L2PcInstance member : members) for (L2PcInstance member : members)
{ {
if (member.isInsideRadius(npc, 1000, true, false) && (npc.getId() == ENTER_CUBIC)) if (member.isInsideRadius(npc, 1000, true, false) && (npc.getId() == ENTER_CUBIC))
@@ -520,7 +526,7 @@ public class Anakim extends AbstractNpcAI
member.teleToLocation(ENTER_ANAKIM_LOC, true); member.teleToLocation(ENTER_ANAKIM_LOC, true);
} }
} }
}
if ((_anakimStatus == ALIVE) && (npc.getId() == ENTER_CUBIC)) if ((_anakimStatus == ALIVE) && (npc.getId() == ENTER_CUBIC))
{ {
GrandBossManager.getInstance().setBossStatus(ANAKIM, WAITING); GrandBossManager.getInstance().setBossStatus(ANAKIM, WAITING);

View File

@@ -497,7 +497,7 @@ public class Lilith extends AbstractNpcAI
{ {
if ((npc.getId() == ENTER_CUBIC) || (npc.getId() == LILITH_CUBIC)) if ((npc.getId() == ENTER_CUBIC) || (npc.getId() == LILITH_CUBIC))
{ {
int _lilithStatus = GrandBossManager.getInstance().getBossStatus(LILITH); final int _lilithStatus = GrandBossManager.getInstance().getBossStatus(LILITH);
if ((npc.getId() == ENTER_CUBIC) && (_lilithStatus > ALIVE)) if ((npc.getId() == ENTER_CUBIC) && (_lilithStatus > ALIVE))
{ {
return "31118-01.html"; return "31118-01.html";
@@ -518,7 +518,19 @@ public class Lilith extends AbstractNpcAI
{ {
return "31118-03.html"; return "31118-03.html";
} }
else if ((((L2Character) members).getParty().getLevel() < Config.LILITH_MIN_PLAYER_LVL) || (((L2Character) members).getParty().getLevel() > Config.LILITH_MAX_PLAYER_LVL))
if ((members.size() < Config.LILITH_MIN_PLAYERS) || (members.size() > Config.LILITH_MAX_PLAYERS))
{
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
packet.setHtml(getHtm(player.getHtmlPrefix(), "31118-02.html"));
packet.replace("%min%", Integer.toString(Config.LILITH_MIN_PLAYERS));
player.sendPacket(packet);
return null;
}
for (L2PcInstance member : members)
{
if ((member.getLevel() < Config.LILITH_MIN_PLAYER_LVL) || (member.getLevel() > Config.LILITH_MAX_PLAYER_LVL))
{ {
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId()); final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
packet.setHtml(getHtm(player.getHtmlPrefix(), "31118-04.html")); packet.setHtml(getHtm(player.getHtmlPrefix(), "31118-04.html"));
@@ -527,16 +539,8 @@ public class Lilith extends AbstractNpcAI
player.sendPacket(packet); player.sendPacket(packet);
return null; return null;
} }
else if ((members.size() < Config.LILITH_MIN_PLAYERS) || (members.size() > Config.LILITH_MAX_PLAYERS))
{
final NpcHtmlMessage packet = new NpcHtmlMessage(npc.getObjectId());
packet.setHtml(getHtm(player.getHtmlPrefix(), "31118-02.html"));
packet.replace("%min%", Integer.toString(Config.LILITH_MIN_PLAYERS));
player.sendPacket(packet);
return null;
} }
else
{
for (L2PcInstance member : members) for (L2PcInstance member : members)
{ {
if (member.isInsideRadius(npc, 1000, true, false) && (npc.getId() == ENTER_CUBIC)) if (member.isInsideRadius(npc, 1000, true, false) && (npc.getId() == ENTER_CUBIC))
@@ -548,7 +552,7 @@ public class Lilith extends AbstractNpcAI
member.teleToLocation(ENTER_LILITH_LOC, true); member.teleToLocation(ENTER_LILITH_LOC, true);
} }
} }
}
if ((_lilithStatus == ALIVE) && (npc.getId() == ENTER_CUBIC)) if ((_lilithStatus == ALIVE) && (npc.getId() == ENTER_CUBIC))
{ {
GrandBossManager.getInstance().setBossStatus(LILITH, WAITING); GrandBossManager.getInstance().setBossStatus(LILITH, WAITING);