Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (drops != null) {
- Random r = new Random();
- Collections.shuffle(drops, new Random());
- if (drops != null) {
- List<Drop> hitDrops = new ArrayList<Drop>();
- boolean rareDrop = false;
- for (Drop d : drops) {
- if (Constants.DEBUG) {
- System.out.println(ItemDefinitions.getItemDefinitions(d.getItemId()).getName() + ":" + d.getItemId() + "/" + d.getMinAmount() + " - " + d.getRate());
- }
- int chance = (int) (Math.random() * 100);
- int amount = Misc.random(d.getMinAmount(), d.getMaxAmount());
- if (ItemDefinitions.getItemDefinitions(d.getItemId()).getCertId() != -1 && amount > 1 && !ItemDefinitions.getItemDefinitions(d.getItemId()).isNoted()) {
- d.setItemId((short) ItemDefinitions.getItemDefinitions(d.getItemId()).getCertId());
- }
- if (chance <= d.getRate().getChance()) {
- if (d.getRate().getChance() < 100) {
- if (d.getItemId() >= 20135
- && d.getItemId() <= 20174) {
- if (rareDrop) {
- continue;
- }
- rareDrop = true;
- }
- hitDrops.add(d);
- } else {
- Player receiver = killer;
- World.addGroundItem(
- new Item(d.getItemId(), Misc.random(
- d.getMinAmount(), d.getMaxAmount())),
- getWorldTile(), receiver, false, 180, true);
- }
- }
- }
- int amount = getDropAmount();
- while (!hitDrops.isEmpty() && amount > 0) {
- int dropIndex = r.nextInt(hitDrops.size());
- Drop item = hitDrops.get(dropIndex);
- Player receiver = killer;
- int itemAmount = Misc.random(item.getMinAmount(),
- item.getMaxAmount());
- World.addGroundItem(new Item(item.getItemId(), itemAmount),
- getWorldTile(), receiver, false, 180, true);
- hitDrops.remove(dropIndex);
- amount--;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement