@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); }