@Override protected void handleDied() { super.handleDied(); Npc freeTerma = (Npc) spawn(205495, 455.94f, 537.06f, 132.6f, (byte) 0); spawn(701009, 451.706f, 534.313f, 131.979f, (byte) 0); NpcShoutsService.getInstance().sendMsg(freeTerma, 1500444, freeTerma.getObjectId(), 0, 3000); }
@Override protected void handleDied() { cancelPhaseTask(); if (getNpcId() == 217309) { sendMsg(1500390); spawn(217310, 238.160f, 598.624f, 178.480f, (byte) 0); deleteHelpers(); AI2Actions.deleteOwner(this); } else { sendMsg(1500391); final WorldMapInstance instance = getPosition().getWorldMapInstance(); if (instance != null) { final Npc ariana = instance.getNpc(799668); if (ariana != null) { ariana.getEffectController().removeEffect(19921); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { ariana.getSpawn().setWalkerId("30028000016"); WalkManager.startWalking((NpcAI2) ariana.getAi2()); } }, 1000); NpcShoutsService.getInstance().sendMsg(ariana, 1500415, ariana.getObjectId(), 0, 4000); NpcShoutsService.getInstance().sendMsg(ariana, 1500416, ariana.getObjectId(), 0, 13000); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { if (instance != null) { SkillEngine.getInstance() .getSkill(ariana, 19358, 60, ariana) .useNoAnimationSkill(); instance.getDoors().get(145).setOpen(true); deleteNpcs(instance.getNpcs(701156)); ThreadPoolManager.getInstance() .schedule( new Runnable() { @Override public void run() { if (ariana != null && !NpcActions.isAlreadyDead(ariana)) { NpcActions.delete(ariana); } } }, 13000); } } }, 13000); } } } super.handleDied(); }
/** * 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)); }
private void startRun(Npc npc) { npc.setState(1); PacketSendUtility.broadcastPacket( npc, new SM_EMOTION(npc, EmotionType.START_EMOTE2, 0, npc.getObjectId())); }