Advertisement
Tyluur

Untitled

Dec 4th, 2012
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. if (drops != null) {
  2. Random r = new Random();
  3. Collections.shuffle(drops, new Random());
  4. if (drops != null) {
  5. List<Drop> hitDrops = new ArrayList<Drop>();
  6. boolean rareDrop = false;
  7. for (Drop d : drops) {
  8. if (Constants.DEBUG) {
  9. System.out.println(ItemDefinitions.getItemDefinitions(d.getItemId()).getName() + ":" + d.getItemId() + "/" + d.getMinAmount() + " - " + d.getRate());
  10. }
  11. int chance = (int) (Math.random() * 100);
  12. int amount = Misc.random(d.getMinAmount(), d.getMaxAmount());
  13. if (ItemDefinitions.getItemDefinitions(d.getItemId()).getCertId() != -1 && amount > 1 && !ItemDefinitions.getItemDefinitions(d.getItemId()).isNoted()) {
  14. d.setItemId((short) ItemDefinitions.getItemDefinitions(d.getItemId()).getCertId());
  15. }
  16. if (chance <= d.getRate().getChance()) {
  17. if (d.getRate().getChance() < 100) {
  18. if (d.getItemId() >= 20135
  19. && d.getItemId() <= 20174) {
  20. if (rareDrop) {
  21. continue;
  22. }
  23. rareDrop = true;
  24. }
  25. hitDrops.add(d);
  26. } else {
  27. Player receiver = killer;
  28. World.addGroundItem(
  29. new Item(d.getItemId(), Misc.random(
  30. d.getMinAmount(), d.getMaxAmount())),
  31. getWorldTile(), receiver, false, 180, true);
  32. }
  33.  
  34. }
  35. }
  36. int amount = getDropAmount();
  37. while (!hitDrops.isEmpty() && amount > 0) {
  38. int dropIndex = r.nextInt(hitDrops.size());
  39. Drop item = hitDrops.get(dropIndex);
  40. Player receiver = killer;
  41. int itemAmount = Misc.random(item.getMinAmount(),
  42. item.getMaxAmount());
  43. World.addGroundItem(new Item(item.getItemId(), itemAmount),
  44. getWorldTile(), receiver, false, 180, true);
  45. hitDrops.remove(dropIndex);
  46. amount--;
  47. }
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement