Advertisement
Guest User

Untitled

a guest
Jul 17th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.18 KB | None | 0 0
  1.     private List<Unit> getUnits(List<Unit> nonBannerUnits, List<Unit> bannerUnits, String pullType){
  2.         final double bannerRainbow = 1;
  3.         final double offRainbow = bannerRainbow + 2;
  4.         final double bannerGold = offRainbow + 4.75;
  5.         final double offGold = bannerGold + 13.25;
  6.         final double bannerBlue = offGold + 20;
  7.         final double offBlue = bannerBlue + 58;
  8.        
  9.         final double specialBannerRainbow = 3.75;
  10.         final double specialOffRainbow = specialBannerRainbow + 1.25;
  11.         final double specialBannerGold = specialOffRainbow + 47.5;
  12.         final double specialOffGold = specialBannerGold + 47.5;
  13.         Random r = new Random();
  14.  
  15.         List<Unit> result = null;
  16.         if(pullType.equals("10+1 premium")) {
  17.             result = new LinkedList<Unit>();
  18.             for(int i = 0; i < 11; i++)
  19.                 result.addAll(getUnits(nonBannerUnits, bannerUnits, "4*ex"));
  20.         }
  21.         else if(pullType.equals("10+1")) {
  22.             result = new LinkedList<Unit>();
  23.             result.addAll(getUnits(nonBannerUnits, bannerUnits, "4*"));
  24.             for(int i = 0; i < 10; i++)
  25.                 result.addAll(getUnits(nonBannerUnits, bannerUnits, "3*"));
  26.         }
  27.         else if(pullType.equals("5*")) {
  28.             double luck = specialOffRainbow * r.nextDouble();
  29.             if(luck < specialBannerRainbow)
  30.                 result = bannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  31.             else
  32.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  33.             Collections.shuffle(result);
  34.             result = result.subList(0, 1);
  35.         }
  36.         else if(pullType.equals("5*ex") || pullType.equals("5* ex")) {
  37.             result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  38.             Collections.shuffle(result);
  39.             result = result.subList(0, 1);
  40.         }
  41.         else if(pullType.equals("4*")) {
  42.             double luck = 100 * r.nextDouble();
  43.             if(luck < specialBannerRainbow)
  44.                 result = bannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  45.             else if(luck < specialOffRainbow)
  46.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  47.             else if(luck < specialBannerGold)
  48.                 result = bannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  49.             else if(luck < specialOffGold)
  50.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  51.             else
  52.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  53.             Collections.shuffle(result);
  54.             result = result.subList(0, 1);
  55.         }
  56.         else if(pullType.equals("4*ex") || pullType.equals("4* ex")) {
  57.             double luck = 100 * r.nextDouble();
  58.             if(luck < (specialBannerRainbow + specialOffRainbow))
  59.                 result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  60.             else if(luck < (specialBannerGold + specialOffGold))
  61.                 result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  62.             else
  63.                 result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  64.             Collections.shuffle(result);
  65.             result = result.subList(0, 1);
  66.         }
  67.         else if(pullType.equals("3*") || pullType.equals("daily")) {
  68.             double luck = 100 * r.nextDouble();
  69.             if(luck < bannerRainbow)
  70.                 result = bannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  71.             else if(luck < offRainbow)
  72.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  73.             else if(luck < bannerGold)
  74.                 result = bannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  75.             else if(luck < offGold)
  76.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  77.             else if(luck < bannerBlue)
  78.                 result = bannerUnits.stream().filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
  79.             else if(luck < offBlue)
  80.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
  81.             else
  82.                 result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
  83.             Collections.shuffle(result);
  84.             result = result.subList(0, 1);
  85.         }
  86.         else if(pullType.equals("3*ex") || pullType.equals("3* ex")) {
  87.             double luck = 100 * r.nextDouble();
  88.             if(luck < (bannerRainbow + offRainbow))
  89.                 result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
  90.             else if(luck < (bannerGold + offGold))
  91.                 result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
  92.             else if(luck < (bannerBlue + offBlue))
  93.                 result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
  94.             else
  95.                 result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
  96.             Collections.shuffle(result);
  97.             result = result.subList(0, 1);
  98.         }
  99.         return result;
  100.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement