Example #1
0
 @Override
 public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) {
   switch (npc.getId()) {
     case LIZARDMAN_SUB_LEADER:
     case LIZARDMAN_SENTINEL:
       {
         final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc);
         if ((qs != null)
             && giveItemRandomly(
                 qs.getPlayer(), npc, FEATHER.getId(), 1, FEATHER.getCount(), 1.0, true)) {
           qs.setCond(2);
         }
         break;
       }
     case LIZARDMAN_LEADER:
     case LIZARDMAN_SHAMAN:
       {
         final QuestState qs = getRandomPartyMemberState(killer, 6, 3, npc);
         if ((qs != null)
             && giveItemRandomly(
                 qs.getPlayer(),
                 npc,
                 TOTEM_TOOTH_2ND.getId(),
                 1,
                 TOTEM_TOOTH_2ND.getCount(),
                 0.5,
                 true)) {
           qs.setCond(7);
         }
         break;
       }
   }
   return super.onKill(npc, killer, isSummon);
 }
 @Override
 public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) {
   final QuestState qs = getQuestState(killer, false); // kill counts independent on party/no party
   if ((qs != null)
       && qs.isStarted()
       && qs.isCond(1)
       && (Util.checkIfInRange(1500, npc, qs.getPlayer(), false))) {
     qs.setCond(2);
   }
   return super.onKill(npc, killer, isSummon);
 }
  @Override
  public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) {
    final QuestState st = getRandomPartyMemberState(killer, -1, 3, npc);
    if (st != null) {
      final DropInfo info = MONSTERS.get(npc.getId());
      if (st.getCond() >= 1) {
        giveItemRandomly(
            st.getPlayer(), npc, SILVER_ICE_CRYSTAL, 1, 0, info.getFirstChance(), true);
      }

      if (info.getSecondChance() > 0) {
        final QuestState st2 =
            st.getPlayer().getQuestState(Q00115_TheOtherSideOfTruth.class.getSimpleName());
        if ((st.getCond() >= 2) && (st2 != null) && st2.isCompleted()) {
          giveItemRandomly(
              st.getPlayer(), npc, SILVER_HEMOCYTE, 1, 0, info.getSecondChance(), true);
        }
      }
    }
    return super.onKill(npc, killer, isSummon);
  }