Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private List<Unit> getUnits(List<Unit> nonBannerUnits, List<Unit> bannerUnits, String pullType){
- final double bannerRainbow = 1;
- final double offRainbow = bannerRainbow + 2;
- final double bannerGold = offRainbow + 4.75;
- final double offGold = bannerGold + 13.25;
- final double bannerBlue = offGold + 20;
- final double offBlue = bannerBlue + 58;
- final double specialBannerRainbow = 3.75;
- final double specialOffRainbow = specialBannerRainbow + 1.25;
- final double specialBannerGold = specialOffRainbow + 47.5;
- final double specialOffGold = specialBannerGold + 47.5;
- Random r = new Random();
- List<Unit> result = null;
- if(pullType.equals("10+1 premium")) {
- result = new LinkedList<Unit>();
- for(int i = 0; i < 11; i++)
- result.addAll(getUnits(nonBannerUnits, bannerUnits, "4*ex"));
- }
- else if(pullType.equals("10+1")) {
- result = new LinkedList<Unit>();
- result.addAll(getUnits(nonBannerUnits, bannerUnits, "4*"));
- for(int i = 0; i < 10; i++)
- result.addAll(getUnits(nonBannerUnits, bannerUnits, "3*"));
- }
- else if(pullType.equals("5*")) {
- double luck = specialOffRainbow * r.nextDouble();
- if(luck < specialBannerRainbow)
- result = bannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- else
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- Collections.shuffle(result);
- result = result.subList(0, 1);
- }
- else if(pullType.equals("5*ex") || pullType.equals("5* ex")) {
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- Collections.shuffle(result);
- result = result.subList(0, 1);
- }
- else if(pullType.equals("4*")) {
- double luck = 100 * r.nextDouble();
- if(luck < specialBannerRainbow)
- result = bannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- else if(luck < specialOffRainbow)
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- else if(luck < specialBannerGold)
- result = bannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- else if(luck < specialOffGold)
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- else
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- Collections.shuffle(result);
- result = result.subList(0, 1);
- }
- else if(pullType.equals("4*ex") || pullType.equals("4* ex")) {
- double luck = 100 * r.nextDouble();
- if(luck < (specialBannerRainbow + specialOffRainbow))
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- else if(luck < (specialBannerGold + specialOffGold))
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- else
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- Collections.shuffle(result);
- result = result.subList(0, 1);
- }
- else if(pullType.equals("3*") || pullType.equals("daily")) {
- double luck = 100 * r.nextDouble();
- if(luck < bannerRainbow)
- result = bannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- else if(luck < offRainbow)
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- else if(luck < bannerGold)
- result = bannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- else if(luck < offGold)
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- else if(luck < bannerBlue)
- result = bannerUnits.stream().filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
- else if(luck < offBlue)
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
- else
- result = nonBannerUnits.stream().filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
- Collections.shuffle(result);
- result = result.subList(0, 1);
- }
- else if(pullType.equals("3*ex") || pullType.equals("3* ex")) {
- double luck = 100 * r.nextDouble();
- if(luck < (bannerRainbow + offRainbow))
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 5L).collect(Collectors.toList());
- else if(luck < (bannerGold + offGold))
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 4L).collect(Collectors.toList());
- else if(luck < (bannerBlue + offBlue))
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
- else
- result = Stream.concat(bannerUnits.stream(), nonBannerUnits.stream()).filter(u -> u.getMinRarity() == 3L).collect(Collectors.toList());
- Collections.shuffle(result);
- result = result.subList(0, 1);
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement