Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. /**
  2. * @param defeated
  3. * @param winner
  4. * @return Points Gained in PvP Kill
  5. */
  6. public static int calculatePvpApGained(Player defeated, int maxRank, int maxLevel) {
  7. int pointsGained = defeated.getAbyssRank().getRank().getPointsGained();
  8.  
  9. // Level penalty calculation
  10. int difference = maxLevel - defeated.getLevel();
  11.  
  12. if (difference > 4) {
  13. pointsGained = Math.round(pointsGained * 0.1f);
  14. }
  15. else if (difference < -3) {
  16. pointsGained = Math.round(pointsGained * 1.3f);
  17. }
  18. else {
  19. switch (difference) {
  20. case 3:
  21. pointsGained = Math.round(pointsGained * 0.85f);
  22. break;
  23. case 4:
  24. pointsGained = Math.round(pointsGained * 0.65f);
  25. break;
  26. case -2:
  27. pointsGained = Math.round(pointsGained * 1.1f);
  28. break;
  29. case -3:
  30. pointsGained = Math.round(pointsGained * 1.2f);
  31. break;
  32. }
  33. }
  34.  
  35. // Abyss rank penalty calculation
  36. int winnerAbyssRank = maxRank;
  37. int defeatedAbyssRank = defeated.getAbyssRank().getRank().getId();
  38. int abyssRankDifference = winnerAbyssRank - defeatedAbyssRank;
  39.  
  40. if (winnerAbyssRank <= 7 && abyssRankDifference > 0) {
  41. float penaltyPercent = abyssRankDifference * 0.05f;
  42.  
  43. pointsGained -= Math.round(pointsGained * penaltyPercent);
  44. }
  45.  
  46. return pointsGained;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement