Пример #1
0
  @Override
  public String onKill(L2NpcInstance npc, L2PcInstance killer, boolean isPet) {
    int npcId = npc.getNpcId();

    Integer status = GrandBossManager.getInstance().getBossStatus(ZAKEN);

    if (npcId == ZAKEN) {
      npc.broadcastPacket(
          new PlaySound(1, "BS02_D", 1, npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));

      GrandBossManager.getInstance().setBossStatus(ZAKEN, DEAD);
      // time is 36hour	+/- 17hour
      long respawnTime = (long) (Config.ZAKEN_RESP_FIRST + Rnd.get(Config.ZAKEN_RESP_SECOND));
      startQuestTimer("zaken_unlock", respawnTime, null, null);
      cancelQuestTimer("1001", npc, null);
      cancelQuestTimer("1003", npc, null);
      // also save the respawn time so that the info is maintained past reboots
      StatsSet info = GrandBossManager.getInstance().getStatsSet(ZAKEN);
      info.set("respawn_time", System.currentTimeMillis() + respawnTime);
      GrandBossManager.getInstance().setStatsSet(ZAKEN, info);
    } else if (status == ALIVE) {
      if (npcId != ZAKEN) {
        startQuestTimer("CreateOnePrivateEx", ((30 + Rnd.get(60)) * 1000), npc, null);
      }
    }
    return super.onKill(npc, killer, isPet);
  }