private void onDieSurkan(Npc npc, Player mostPlayerDamage, int points) {
   Race race = mostPlayerDamage.getRace();
   captureRoom(race, npc.getNpcId() + 14 - 700851);
   for (Player player : instance.getPlayersInside()) {
     PacketSendUtility.sendPacket(
         player,
         new SM_SYSTEM_MESSAGE(
             1400199,
             new DescriptionId(race.equals(Race.ASMODIANS) ? 1800483 : 1800481),
             new DescriptionId(npc.getObjectTemplate().getNameId() * 2 + 1)));
   }
   getPlayerReward(mostPlayerDamage).captureZone();
   if (++surkanKills == 5) {
     spawn(216886, 485.33f, 832.26f, 416.64f, (byte) 55);
     sendMsgByRace(1400632, Race.PC_ALL, 0);
   }
   updateScore(mostPlayerDamage, npc, points, false);
   NpcActions.delete(npc);
 }
 @Override
 public void onDie(Npc npc) {
   switch (npc.getNpcId()) {
     case 730350: // Secondary Hatch teleporter
       sendMsgByRace(1400641, Race.PC_ALL, 0);
       spawn(730315, 415.07663f, 173.85265f, 432.53436f, (byte) 0, 34);
       NpcActions.delete(npc);
       return;
     case 730349: // Escape Hatch teleporter
       sendMsgByRace(1400631, Race.PC_ALL, 0);
       spawn(730314, 396.979f, 184.392f, 433.940f, (byte) 0, 42);
       NpcActions.delete(npc);
       return;
     case 730351:
       sendMsgByRace(1400226, Race.PC_ALL, 0);
       spawn(730345, 448.391998f, 493.641998f, 394.131989f, (byte) 90, 12);
       NpcActions.delete(npc);
       return;
     case 730352:
       sendMsgByRace(1400227, Race.PC_ALL, 0);
       spawn(730346, 520.875977f, 493.401001f, 394.433014f, (byte) 90, 133);
       NpcActions.delete(npc);
       return;
     case 216890:
     case 216889:
       return;
   }
   Player mostPlayerDamage = npc.getAggroList().getMostPlayerDamage();
   if (mostPlayerDamage == null) {
     return;
   }
   Race race = mostPlayerDamage.getRace();
   switch (npc.getNpcId()) {
     case 700838:
     case 700839:
       onDieSurkan(npc, mostPlayerDamage, 400);
       return;
     case 700840:
     case 700848:
     case 700849:
     case 700850:
     case 700851:
       onDieSurkan(npc, mostPlayerDamage, 700);
       return;
     case 700845:
     case 700846:
       onDieSurkan(npc, mostPlayerDamage, 800);
       return;
     case 700847:
       onDieSurkan(npc, mostPlayerDamage, 900);
       return;
     case 700841:
     case 700842:
       onDieSurkan(npc, mostPlayerDamage, 1000);
       return;
     case 700843:
     case 700844:
       onDieSurkan(npc, mostPlayerDamage, 1100);
       return;
     case 216882: // Captain's Cabin teleport
       sendMsgByRace(1400652, Race.PC_ALL, 0);
       if (race.equals(Race.ASMODIANS)) {
         spawn(730358, 496.178f, 761.770f, 390.805f, (byte) 0, 186);
       } else {
         spawn(730357, 473.759f, 761.864f, 390.805f, (byte) 0, 33);
       }
       break;
     case 700836:
       updateScore(mostPlayerDamage, npc, 100, false);
       NpcActions.delete(npc);
       return;
     case 216886:
       if (!dredgionReward.isRewarded()) {
         updateScore(mostPlayerDamage, npc, 1000, false);
         Race winningRace = dredgionReward.getWinningRaceByScore();
         stopInstance(winningRace);
       }
       //				if (winningRace.equals(Race.ELYOS)) {
       //					sendMsgByRace(1400230, Race.ELYOS, 0);
       //				}
       //				else {
       //					sendMsgByRace(1400231, Race.ASMODIANS, 0);
       //				}
       return;
     case 216941:
       updateScore(mostPlayerDamage, npc, 1000, false);
       return;
     case 216885:
       updateScore(mostPlayerDamage, npc, 500, false);
       return;
   }
   super.onDie(npc);
 }