private void spawn(Player player) { int mobToSpawn = mobs.get(Rnd.get(0, 3)); float x = 0; float y = 0; final float z = 124.942f; switch (mobToSpawn) { case 218760: { x = 250.081f; y = 268.308f; break; } case 218762: { x = 273.354f; y = 244.489f; break; } case 218761: { x = 272.994f; y = 244.674f; break; } case 218763: { x = 250.800f; y = 222.782f; break; } } Npc spawn = (Npc) QuestService.spawnQuestNpc( 300330000, player.getInstanceId(), mobToSpawn, x, y, z, (byte) 0); Collection<Npc> allNpcs = World.getInstance().getNpcs(); Npc target = null; for (Npc npc : allNpcs) { if (npc.getNpcId() == 730493) { target = npc; } } if (target != null) { spawn.getAggroList().addHate(target, 1); } }
/** * Shows Question window and expands on positive response * * @param player * @param npc */ public static void expandCube(final Player player, Npc npc) { final CubeExpandTemplate expandTemplate = DataManager.CUBEEXPANDER_DATA.getCubeExpandListTemplate(npc.getNpcId()); if (expandTemplate == null) { log.error("Cube Expand Template could not be found for Npc ID: " + npc.getObjectId()); return; } if (npcCanExpandLevel(expandTemplate, player.getCubeSize() + 1) && validateNewSize(player.getCubeSize() + 1)) { /** Check if our player can pay the cubic expand price */ final int price = getPriceByLevel(expandTemplate, player.getCubeSize() + 1); RequestResponseHandler responseHandler = new RequestResponseHandler(npc) { @Override public void acceptRequest(StaticNpc requester, Player responder) { if (!ItemService.decreaseKinah(responder, price)) { PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.CUBEEXPAND_NOT_ENOUGH_KINAH); return; } expand(responder); } @Override public void denyRequest(StaticNpc requester, Player responder) { // nothing to do } }; boolean result = player .getResponseRequester() .putRequest(SM_QUESTION_WINDOW.STR_WAREHOUSE_EXPAND_WARNING, responseHandler); if (result) { PacketSendUtility.sendPacket( player, new SM_QUESTION_WINDOW( SM_QUESTION_WINDOW.STR_WAREHOUSE_EXPAND_WARNING, 0, String.valueOf(price))); } } else PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300430)); }
@Override public void handleUseItemFinish(Player player, Npc npc) { switch (npc.getNpcId()) { case 701644: sendMsg(1401879); if (canUseLever() && echec == 0) { doors.get(47).setOpen(true); despawnNpc(npc); despawnNpc(instance.getNpc(701155)); break; } break; case 701646: SkillEngine.getInstance().getSkill(npc, 21434, 60, player).useNoAnimationSkill(); NpcActions.scheduleRespawn(npc); despawnNpc(npc); for (Player p : instance.getPlayersInside()) { if (p.getEffectController().hasAbnormalEffect(21434)) { StartSpawn(p); break; } } break; case 701647: SkillEngine.getInstance().getSkill(npc, 21435, 60, player).useNoAnimationSkill(); NpcActions.scheduleRespawn(npc); despawnNpc(npc); for (Player p : instance.getPlayersInside()) { if (p.getEffectController().hasAbnormalEffect(21435)) { StartSpawn(p); break; } } break; } }
@Override public void onDie(Npc npc) { final List<Player> playerList = instance.getPlayersInside(); switch (npc.getNpcId()) { case 231050: spawn(730868, 317f, 489.04999f, 607.64343f, (byte) 0); break; case 230413: sendMsg(1401904); spawn(230417, 476.74689f, 523.6272f, 598.8186f, (byte) 13); // Disabled GENERATEUR POST despawnNpc(npc); Powerdevice++; if (Powerdevice == 4) { spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1); } break; case 230417: spawn(230413, 476.74689f, 523.6272f, 598.8186f, (byte) 13); // Balaur GENERATEUR POST despawnNpc(npc); break; case 230414: sendMsg(1401905); spawn(230418, 524.53607f, 427.29379f, 621.82062f, (byte) 15); // Disabled GENERATEUR NORD despawnNpc(npc); Powerdevice++; if (Powerdevice == 4) { spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1); } break; case 230418: spawn(230414, 524.53607f, 427.29379f, 621.82062f, (byte) 15); // balaur GENERATEUR NORD despawnNpc(npc); break; case 230415: sendMsg(1401906); spawn(230419, 602.40997f, 556.41998f, 592.16406f, (byte) 113); // Disabled GENERATEUR SUD despawnNpc(npc); Powerdevice++; if (Powerdevice == 4) { spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1); } break; case 230419: spawn(230415, 602.40997f, 556.41998f, 592.16406f, (byte) 113); // balaur GENERATEUR SUD despawnNpc(npc); break; case 230416: sendMsg(1401907); spawn(230420, 666.76001f, 474.20999f, 601.1673f, (byte) 117); // Disabled GENERATEUR Defense despawnNpc(npc); Powerdevice++; if (Powerdevice == 4) { spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1); } break; case 230420: echec += 1; doors.get(47).setOpen(false); spawn(230416, 666.76001f, 474.20999f, 601.1673f, (byte) 117); // balaur GENERATEUR Defense despawnNpc(npc); break; case 233320: startFinalTimer(); despawnNpc(npc); if (npc.getX() == 751.5975f || npc.getY() == 518.4685f || npc.getZ() == 578.5f) { if (!isStartTimer) { isStartTimer = true; startTime = System.currentTimeMillis(); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { for (Player player : playerList) { PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1401884)); } attackgenerator( getNpc(230420), (Npc) spawn(233319, 697.05707f, 467.85675f, 599.68396f, (byte) 55)); attackgenerator( getNpc(230420), (Npc) spawn(231189, 695.08307f, 471.75702f, 599.80f, (byte) 55)); attackgenerator( getNpc(230420), (Npc) spawn(231190, 693.59186f, 462.29324f, 599.875f, (byte) 55)); } }, 300000); } } break; } }