Вроде бы ничего сложного..
В методе onKill, реализована цикличность с помощью свич-кейса, в первом кейсе нужно пересмотреть условие:
if (npcId != RaidBoss && Rnd.get(100) < chance1)
{
int[] drop = getDrop(npcId);
if (st.getPlayer().getInventory().getInventoryItemCount(drop[0], 0) < drop[1])
st.giveItems(drop[0], 1); // кол-во выдачи
}
А по хорошему переписать его, т.к. на мой взгляд это можно сделать немного иначе.
Что касается получения награды на группу, то во втором кейсе при выполнении условия: if (npcId == RaidBoss), объявляется класс L2Party с нужными параметрами, а именно killer.getParty(); далее, проверяется еще одно условие if (party != null), и в случае, если группа существует и проверяемый параметр не равен null, тогда запускаем цикл for, в котором проверяем еще доп. условия и как раз дергаем из класса L2PcInstance нужные нам методы/параметры для дропа награды на всех участников группы, а не одному игроку. Думаю, что частично эту реализацию можно перенести в первый кейс, с учетом некоторых особенностей.