Fixed and reworked Zaken script.
This commit is contained in:
parent
196c30fc7f
commit
a18389999f
@ -109,7 +109,7 @@ public class Zaken extends Quest
|
|||||||
private static final byte ALIVE = 0; // Zaken is spawned.
|
private static final byte ALIVE = 0; // Zaken is spawned.
|
||||||
private static final byte DEAD = 1; // Zaken has been killed.
|
private static final byte DEAD = 1; // Zaken has been killed.
|
||||||
// Misc
|
// Misc
|
||||||
private static BossZone _Zone;
|
private static BossZone _zone;
|
||||||
private int _1001 = 0; // used for first cancel of QuestTimer "1001"
|
private int _1001 = 0; // used for first cancel of QuestTimer "1001"
|
||||||
private int _ai0 = 0; // used for zaken coords updater
|
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 _ai1 = 0; // used for X coord tracking for non-random teleporting in zaken's self teleport skill
|
||||||
@ -161,7 +161,7 @@ public class Zaken extends Quest
|
|||||||
addEventId(ZAKEN, EventType.ON_KILL);
|
addEventId(ZAKEN, EventType.ON_KILL);
|
||||||
addEventId(ZAKEN, EventType.ON_ATTACK);
|
addEventId(ZAKEN, EventType.ON_ATTACK);
|
||||||
|
|
||||||
_Zone = GrandBossManager.getInstance().getZone(55312, 219168, -3223);
|
_zone = GrandBossManager.getInstance().getZone(55312, 219168, -3223);
|
||||||
|
|
||||||
final StatSet info = GrandBossManager.getInstance().getStatSet(ZAKEN);
|
final StatSet info = GrandBossManager.getInstance().getStatSet(ZAKEN);
|
||||||
final Integer status = GrandBossManager.getInstance().getBossStatus(ZAKEN);
|
final Integer status = GrandBossManager.getInstance().getBossStatus(ZAKEN);
|
||||||
@ -197,417 +197,401 @@ public class Zaken extends Quest
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void spawnBoss(GrandBossInstance npc)
|
|
||||||
{
|
|
||||||
if (npc == null)
|
|
||||||
{
|
|
||||||
LOGGER.warning("Zaken AI failed to load, missing Zaken in grandboss_data.sql");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
GrandBossManager.getInstance().addBoss(npc);
|
|
||||||
|
|
||||||
npc.broadcastPacket(new PlaySound(1, "BS01_A", npc));
|
|
||||||
_ai0 = 0;
|
|
||||||
_ai1 = npc.getX();
|
|
||||||
_ai2 = npc.getY();
|
|
||||||
_ai3 = npc.getZ();
|
|
||||||
_quest0 = 0;
|
|
||||||
_quest1 = 0;
|
|
||||||
_quest2 = 3;
|
|
||||||
if (_Zone == null)
|
|
||||||
{
|
|
||||||
LOGGER.warning("Zaken AI failed to load, missing zone for Zaken");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (_Zone.isInsideZone(npc))
|
|
||||||
{
|
|
||||||
_ai4 = 1;
|
|
||||||
startQuestTimer("1003", 1700, null, null);
|
|
||||||
}
|
|
||||||
_1001 = 1;
|
|
||||||
startQuestTimer("1001", 1000, npc, null); // buffs,random teleports
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
|
public String onAdvEvent(String event, NpcInstance npc, PlayerInstance player)
|
||||||
{
|
{
|
||||||
final Integer status = GrandBossManager.getInstance().getBossStatus(ZAKEN);
|
switch (event)
|
||||||
if (((status == DEAD) && (event == null)) || !event.equals("zaken_unlock"))
|
|
||||||
{
|
{
|
||||||
return super.onAdvEvent(event, npc, player);
|
case "1001":
|
||||||
}
|
|
||||||
|
|
||||||
if (event.equals("1001"))
|
|
||||||
{
|
|
||||||
if (_1001 == 1)
|
|
||||||
{
|
{
|
||||||
_1001 = 0;
|
if (_1001 == 1)
|
||||||
cancelQuestTimer("1001", npc, null);
|
|
||||||
}
|
|
||||||
int sk4223 = 0;
|
|
||||||
int sk4227 = 0;
|
|
||||||
final Effect[] effects = npc.getAllEffects();
|
|
||||||
if ((effects != null) && (effects.length != 0))
|
|
||||||
{
|
|
||||||
for (Effect e : effects)
|
|
||||||
{
|
{
|
||||||
if (e.getSkill().getId() == 4227)
|
_1001 = 0;
|
||||||
{
|
cancelQuestTimer("1001", npc, null);
|
||||||
sk4227 = 1;
|
|
||||||
}
|
|
||||||
if (e.getSkill().getId() == 4223)
|
|
||||||
{
|
|
||||||
sk4223 = 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
int sk4223 = 0;
|
||||||
if (getTimeHour() < 5)
|
int sk4227 = 0;
|
||||||
{
|
final Effect[] effects = npc.getAllEffects();
|
||||||
if (sk4223 == 1) // use night face if zaken have day face
|
if ((effects != null) && (effects.length != 0))
|
||||||
{
|
{
|
||||||
npc.setTarget(npc);
|
for (Effect e : effects)
|
||||||
npc.doCast(SkillTable.getInstance().getInfo(4224, 1));
|
|
||||||
_ai1 = npc.getX();
|
|
||||||
_ai2 = npc.getY();
|
|
||||||
_ai3 = npc.getZ();
|
|
||||||
}
|
|
||||||
if (sk4227 == 0) // use zaken regeneration
|
|
||||||
{
|
|
||||||
npc.setTarget(npc);
|
|
||||||
npc.doCast(SkillTable.getInstance().getInfo(4227, 1));
|
|
||||||
}
|
|
||||||
if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_ai0 == 0))
|
|
||||||
{
|
|
||||||
int i0 = 0;
|
|
||||||
int i1 = 1;
|
|
||||||
if (((Attackable) npc).getMostHated() != null)
|
|
||||||
{
|
{
|
||||||
if ((((((Attackable) npc).getMostHated().getX() - _ai1) * (((Attackable) npc).getMostHated().getX() - _ai1)) + ((((Attackable) npc).getMostHated().getY() - _ai2) * (((Attackable) npc).getMostHated().getY() - _ai2))) > (1500 * 1500))
|
if (e.getSkill().getId() == 4227)
|
||||||
{
|
{
|
||||||
i0 = 1;
|
sk4227 = 1;
|
||||||
|
}
|
||||||
|
if (e.getSkill().getId() == 4223)
|
||||||
|
{
|
||||||
|
sk4223 = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (getTimeHour() < 5)
|
||||||
|
{
|
||||||
|
if (sk4223 == 1) // use night face if zaken have day face
|
||||||
|
{
|
||||||
|
npc.setTarget(npc);
|
||||||
|
npc.doCast(SkillTable.getInstance().getInfo(4224, 1));
|
||||||
|
_ai1 = npc.getX();
|
||||||
|
_ai2 = npc.getY();
|
||||||
|
_ai3 = npc.getZ();
|
||||||
|
}
|
||||||
|
if (sk4227 == 0) // use zaken regeneration
|
||||||
|
{
|
||||||
|
npc.setTarget(npc);
|
||||||
|
npc.doCast(SkillTable.getInstance().getInfo(4227, 1));
|
||||||
|
}
|
||||||
|
if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_ai0 == 0))
|
||||||
|
{
|
||||||
|
int i0 = 0;
|
||||||
|
int i1 = 1;
|
||||||
|
if (((Attackable) npc).getMostHated() != null)
|
||||||
|
{
|
||||||
|
if ((((((Attackable) npc).getMostHated().getX() - _ai1) * (((Attackable) npc).getMostHated().getX() - _ai1)) + ((((Attackable) npc).getMostHated().getY() - _ai2) * (((Attackable) npc).getMostHated().getY() - _ai2))) > (1500 * 1500))
|
||||||
|
{
|
||||||
|
i0 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
if (i0 == 0)
|
||||||
|
{
|
||||||
|
i1 = 0;
|
||||||
|
}
|
||||||
|
if (_quest0 > 0)
|
||||||
|
{
|
||||||
|
if (c_quest0 == null)
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
else if ((((c_quest0.getX() - _ai1) * (c_quest0.getX() - _ai1)) + ((c_quest0.getY() - _ai2) * (c_quest0.getY() - _ai2))) > (1500 * 1500))
|
||||||
|
{
|
||||||
|
i0 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
if (i0 == 0)
|
||||||
|
{
|
||||||
|
i1 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_quest0 > 1)
|
||||||
|
{
|
||||||
|
if (c_quest1 == null)
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
else if ((((c_quest1.getX() - _ai1) * (c_quest1.getX() - _ai1)) + ((c_quest1.getY() - _ai2) * (c_quest1.getY() - _ai2))) > (1500 * 1500))
|
||||||
|
{
|
||||||
|
i0 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
if (i0 == 0)
|
||||||
|
{
|
||||||
|
i1 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_quest0 > 2)
|
||||||
|
{
|
||||||
|
if (c_quest2 == null)
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
else if ((((c_quest2.getX() - _ai1) * (c_quest2.getX() - _ai1)) + ((c_quest2.getY() - _ai2) * (c_quest2.getY() - _ai2))) > (1500 * 1500))
|
||||||
|
{
|
||||||
|
i0 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
if (i0 == 0)
|
||||||
|
{
|
||||||
|
i1 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_quest0 > 3)
|
||||||
|
{
|
||||||
|
if (c_quest3 == null)
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
else if ((((c_quest3.getX() - _ai1) * (c_quest3.getX() - _ai1)) + ((c_quest3.getY() - _ai2) * (c_quest3.getY() - _ai2))) > (1500 * 1500))
|
||||||
|
{
|
||||||
|
i0 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
if (i0 == 0)
|
||||||
|
{
|
||||||
|
i1 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (_quest0 > 4)
|
||||||
|
{
|
||||||
|
if (c_quest4 == null)
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
else if ((((c_quest4.getX() - _ai1) * (c_quest4.getX() - _ai1)) + ((c_quest4.getY() - _ai2) * (c_quest4.getY() - _ai2))) > (1500 * 1500))
|
||||||
|
{
|
||||||
|
i0 = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i0 = 0;
|
||||||
|
}
|
||||||
|
if (i0 == 0)
|
||||||
|
{
|
||||||
|
i1 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i1 == 1)
|
||||||
|
{
|
||||||
|
_quest0 = 0;
|
||||||
|
final int i2 = Rnd.get(15);
|
||||||
|
_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));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ((Rnd.get(20) < 1) && (_ai0 == 0))
|
||||||
|
{
|
||||||
|
_ai1 = npc.getX();
|
||||||
|
_ai2 = npc.getY();
|
||||||
|
_ai3 = npc.getZ();
|
||||||
|
}
|
||||||
|
Creature cAi0 = null;
|
||||||
|
if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 == 0))
|
||||||
|
{
|
||||||
|
if (((Attackable) npc).getMostHated() != null)
|
||||||
|
{
|
||||||
|
cAi0 = ((Attackable) npc).getMostHated();
|
||||||
|
_quest1 = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 != 0) && (((Attackable) npc).getMostHated() != null))
|
||||||
|
{
|
||||||
|
if (cAi0 == ((Attackable) npc).getMostHated())
|
||||||
|
{
|
||||||
|
_quest1 = (_quest1 + 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
i0 = 0;
|
_quest1 = 1;
|
||||||
}
|
cAi0 = ((Attackable) npc).getMostHated();
|
||||||
if (i0 == 0)
|
|
||||||
{
|
|
||||||
i1 = 0;
|
|
||||||
}
|
|
||||||
if (_quest0 > 0)
|
|
||||||
{
|
|
||||||
if (c_quest0 == null)
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
else if ((((c_quest0.getX() - _ai1) * (c_quest0.getX() - _ai1)) + ((c_quest0.getY() - _ai2) * (c_quest0.getY() - _ai2))) > (1500 * 1500))
|
|
||||||
{
|
|
||||||
i0 = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
if (i0 == 0)
|
|
||||||
{
|
|
||||||
i1 = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (_quest0 > 1)
|
|
||||||
{
|
|
||||||
if (c_quest1 == null)
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
else if ((((c_quest1.getX() - _ai1) * (c_quest1.getX() - _ai1)) + ((c_quest1.getY() - _ai2) * (c_quest1.getY() - _ai2))) > (1500 * 1500))
|
|
||||||
{
|
|
||||||
i0 = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
if (i0 == 0)
|
|
||||||
{
|
|
||||||
i1 = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (_quest0 > 2)
|
|
||||||
{
|
|
||||||
if (c_quest2 == null)
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
else if ((((c_quest2.getX() - _ai1) * (c_quest2.getX() - _ai1)) + ((c_quest2.getY() - _ai2) * (c_quest2.getY() - _ai2))) > (1500 * 1500))
|
|
||||||
{
|
|
||||||
i0 = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
if (i0 == 0)
|
|
||||||
{
|
|
||||||
i1 = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (_quest0 > 3)
|
|
||||||
{
|
|
||||||
if (c_quest3 == null)
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
else if ((((c_quest3.getX() - _ai1) * (c_quest3.getX() - _ai1)) + ((c_quest3.getY() - _ai2) * (c_quest3.getY() - _ai2))) > (1500 * 1500))
|
|
||||||
{
|
|
||||||
i0 = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
if (i0 == 0)
|
|
||||||
{
|
|
||||||
i1 = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (_quest0 > 4)
|
|
||||||
{
|
|
||||||
if (c_quest4 == null)
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
else if ((((c_quest4.getX() - _ai1) * (c_quest4.getX() - _ai1)) + ((c_quest4.getY() - _ai2) * (c_quest4.getY() - _ai2))) > (1500 * 1500))
|
|
||||||
{
|
|
||||||
i0 = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
i0 = 0;
|
|
||||||
}
|
|
||||||
if (i0 == 0)
|
|
||||||
{
|
|
||||||
i1 = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (i1 == 1)
|
|
||||||
{
|
|
||||||
_quest0 = 0;
|
|
||||||
final int i2 = Rnd.get(15);
|
|
||||||
_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));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if (npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE)
|
||||||
if ((Rnd.get(20) < 1) && (_ai0 == 0))
|
|
||||||
{
|
|
||||||
_ai1 = npc.getX();
|
|
||||||
_ai2 = npc.getY();
|
|
||||||
_ai3 = npc.getZ();
|
|
||||||
}
|
|
||||||
Creature cAi0 = null;
|
|
||||||
if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 == 0))
|
|
||||||
{
|
|
||||||
if (((Attackable) npc).getMostHated() != null)
|
|
||||||
{
|
{
|
||||||
cAi0 = ((Attackable) npc).getMostHated();
|
_quest1 = 0;
|
||||||
_quest1 = 1;
|
|
||||||
}
|
}
|
||||||
}
|
if (_quest1 > 5)
|
||||||
else if ((npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_ATTACK) && (_quest1 != 0) && (((Attackable) npc).getMostHated() != null))
|
|
||||||
{
|
|
||||||
if (cAi0 == ((Attackable) npc).getMostHated())
|
|
||||||
{
|
{
|
||||||
_quest1 = (_quest1 + 1);
|
((Attackable) npc).stopHating(cAi0);
|
||||||
}
|
final Creature nextTarget = ((Attackable) npc).getMostHated();
|
||||||
else
|
if (nextTarget != null)
|
||||||
{
|
{
|
||||||
_quest1 = 1;
|
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, nextTarget);
|
||||||
cAi0 = ((Attackable) npc).getMostHated();
|
}
|
||||||
|
_quest1 = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (npc.getAI().getIntention() == CtrlIntention.AI_INTENTION_IDLE)
|
else if (sk4223 == 0) // use day face if not night time
|
||||||
{
|
{
|
||||||
_quest1 = 0;
|
npc.setTarget(npc);
|
||||||
|
npc.doCast(SkillTable.getInstance().getInfo(4223, 1));
|
||||||
|
_quest2 = 3;
|
||||||
}
|
}
|
||||||
if (_quest1 > 5)
|
if (sk4227 == 1) // when switching to day time, cancel zaken night regen
|
||||||
{
|
{
|
||||||
((Attackable) npc).stopHating(cAi0);
|
npc.setTarget(npc);
|
||||||
final Creature nextTarget = ((Attackable) npc).getMostHated();
|
npc.doCast(SkillTable.getInstance().getInfo(4242, 1));
|
||||||
if (nextTarget != null)
|
|
||||||
{
|
|
||||||
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, nextTarget);
|
|
||||||
}
|
|
||||||
_quest1 = 0;
|
|
||||||
}
|
}
|
||||||
|
if (Rnd.get(40) < 1)
|
||||||
|
{
|
||||||
|
final int i2 = Rnd.get(15);
|
||||||
|
_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));
|
||||||
|
}
|
||||||
|
startQuestTimer("1001", 30000, npc, null);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else if (sk4223 == 0) // use day face if not night time
|
case "1002":
|
||||||
{
|
{
|
||||||
npc.setTarget(npc);
|
_quest0 = 0;
|
||||||
npc.doCast(SkillTable.getInstance().getInfo(4223, 1));
|
|
||||||
_quest2 = 3;
|
|
||||||
}
|
|
||||||
if (sk4227 == 1) // when switching to day time, cancel zaken night regen
|
|
||||||
{
|
|
||||||
npc.setTarget(npc);
|
|
||||||
npc.doCast(SkillTable.getInstance().getInfo(4242, 1));
|
|
||||||
}
|
|
||||||
if (Rnd.get(40) < 1)
|
|
||||||
{
|
|
||||||
final int i2 = Rnd.get(15);
|
|
||||||
_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));
|
npc.doCast(SkillTable.getInstance().getInfo(4222, 1));
|
||||||
|
_ai0 = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
startQuestTimer("1001", 30000, npc, null);
|
case "1003":
|
||||||
}
|
|
||||||
if (event.equals("1002"))
|
|
||||||
{
|
|
||||||
_quest0 = 0;
|
|
||||||
npc.doCast(SkillTable.getInstance().getInfo(4222, 1));
|
|
||||||
_ai0 = 0;
|
|
||||||
}
|
|
||||||
if (event.equals("1003"))
|
|
||||||
{
|
|
||||||
if (_ai4 == 1)
|
|
||||||
{
|
{
|
||||||
final int rr = Rnd.get(15);
|
switch (_ai4)
|
||||||
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;
|
case 1:
|
||||||
|
{
|
||||||
|
final int rr = Rnd.get(15);
|
||||||
|
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;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
final int rr = Rnd.get(15);
|
||||||
|
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;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 3:
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 4:
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 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) */;
|
||||||
|
_ai4 = 6;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 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) */;
|
||||||
|
_ai4 = 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 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) */;
|
||||||
|
_ai4 = 8;
|
||||||
|
cancelQuestTimer("1003", null, null);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else if (_ai4 == 2)
|
case "zaken_unlock":
|
||||||
{
|
{
|
||||||
final int rr = Rnd.get(15);
|
if (GrandBossManager.getInstance().getBossStatus(ZAKEN) != DEAD)
|
||||||
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;
|
final GrandBossInstance zaken = (GrandBossInstance) addSpawn(ZAKEN, 55312, 219168, -3223, 0, false, 0);
|
||||||
|
GrandBossManager.getInstance().setBossStatus(ZAKEN, ALIVE);
|
||||||
|
spawnBoss(zaken);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else if (_ai4 == 3)
|
case "CreateOnePrivateEx":
|
||||||
{
|
{
|
||||||
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(npc.getNpcId(), npc.getX(), npc.getY(), npc.getZ(), 0, 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) */;
|
break;
|
||||||
_ai4 = 4;
|
|
||||||
}
|
}
|
||||||
else if (_ai4 == 4)
|
|
||||||
{
|
|
||||||
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) */;
|
|
||||||
_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) */;
|
|
||||||
_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) */;
|
|
||||||
_ai4 = 8;
|
|
||||||
cancelQuestTimer("1003", null, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (event.equals("zaken_unlock"))
|
|
||||||
{
|
|
||||||
final GrandBossInstance zaken = (GrandBossInstance) addSpawn(ZAKEN, 55312, 219168, -3223, 0, false, 0);
|
|
||||||
GrandBossManager.getInstance().setBossStatus(ZAKEN, ALIVE);
|
|
||||||
spawnBoss(zaken);
|
|
||||||
}
|
|
||||||
else if (event.equals("CreateOnePrivateEx"))
|
|
||||||
{
|
|
||||||
addSpawn(npc.getNpcId(), npc.getX(), npc.getY(), npc.getZ(), 0, false, 0)/* .setIsRaidMinion(true) */;
|
|
||||||
}
|
}
|
||||||
return super.onAdvEvent(event, npc, player);
|
return super.onAdvEvent(event, npc, player);
|
||||||
}
|
}
|
||||||
@ -873,21 +857,13 @@ public class Zaken extends Quest
|
|||||||
return super.onKill(npc, killer, isPet);
|
return super.onKill(npc, killer, isPet);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* public String onSkillSee(NpcInstance npc, PlayerInstance caster, Skill skill, WorldObject[] targets, boolean isPet) { int npcId = npc.getNpcId(); if (npcId == ZAKEN) { if (skill.getAggroPoints() > 0) { ((Attackable) npc).addDamageHate(caster, 0, (((skill.getAggroPoints() / npc.getMaxHp()) *
|
|
||||||
* 10) * 150)); } if (Rnd.get(12) < 1) { int i0 = Rnd.get((15 * 15)); if (i0 < 1) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4216, 1)); } else if (i0 < 2) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4217, 1)); } else if (i0 < 4) {
|
|
||||||
* npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4219, 1)); } else if (i0 < 8) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4218, 1)); } else if (i0 < 15) { for (Creature creature : npc.getKnownList().getKnownCharactersInRadius(100)) { if (character
|
|
||||||
* != caster) continue; if (caster != ((Attackable) npc).getMostHated()) { npc.setTarget(caster); npc.doCast(SkillTable.getInstance().getInfo(4221, 1)); } } } if (Rnd.get(2)ss < 1) { if (caster == ((Attackable) npc).getMostHated()) { npc.setTarget(caster);
|
|
||||||
* npc.doCast(SkillTable.getInstance().getInfo(4220, 1)); } } } } return super.onSkillSee(npc, caster, skill, targets, isPet); }
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String onAggroRangeEnter(NpcInstance npc, PlayerInstance player, boolean isPet)
|
public String onAggroRangeEnter(NpcInstance npc, PlayerInstance player, boolean isPet)
|
||||||
{
|
{
|
||||||
final int npcId = npc.getNpcId();
|
final int npcId = npc.getNpcId();
|
||||||
if (npcId == ZAKEN)
|
if (npcId == ZAKEN)
|
||||||
{
|
{
|
||||||
if (_Zone.isInsideZone(npc))
|
if (_zone.isInsideZone(npc))
|
||||||
{
|
{
|
||||||
final Creature target = isPet ? player.getPet() : player;
|
final Creature target = isPet ? player.getPet() : player;
|
||||||
((Attackable) npc).addDamageHate(target, 1, 200);
|
((Attackable) npc).addDamageHate(target, 1, 200);
|
||||||
@ -967,6 +943,37 @@ public class Zaken extends Quest
|
|||||||
return super.onAggroRangeEnter(npc, player, isPet);
|
return super.onAggroRangeEnter(npc, player, isPet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void spawnBoss(GrandBossInstance npc)
|
||||||
|
{
|
||||||
|
if (npc == null)
|
||||||
|
{
|
||||||
|
LOGGER.warning("Zaken AI failed to load, missing Zaken in grandboss_data.sql");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
GrandBossManager.getInstance().addBoss(npc);
|
||||||
|
|
||||||
|
npc.broadcastPacket(new PlaySound(1, "BS01_A", npc));
|
||||||
|
_ai0 = 0;
|
||||||
|
_ai1 = npc.getX();
|
||||||
|
_ai2 = npc.getY();
|
||||||
|
_ai3 = npc.getZ();
|
||||||
|
_quest0 = 0;
|
||||||
|
_quest1 = 0;
|
||||||
|
_quest2 = 3;
|
||||||
|
if (_zone == null)
|
||||||
|
{
|
||||||
|
LOGGER.warning("Zaken AI failed to load, missing zone for Zaken");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (_zone.isInsideZone(npc))
|
||||||
|
{
|
||||||
|
_ai4 = 1;
|
||||||
|
startQuestTimer("1003", 1700, null, null);
|
||||||
|
}
|
||||||
|
_1001 = 1;
|
||||||
|
startQuestTimer("1001", 1000, npc, null); // buffs,random teleports
|
||||||
|
}
|
||||||
|
|
||||||
public int getTimeHour()
|
public int getTimeHour()
|
||||||
{
|
{
|
||||||
return (GameTimeController.getInstance().getGameTime() / 60) % 24;
|
return (GameTimeController.getInstance().getGameTime() / 60) % 24;
|
||||||
|
Loading…
Reference in New Issue
Block a user