Advertisement
FALSkills

Untitled

Oct 8th, 2020
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. public static String getAbstractName(String startName){
  2. int aposIndex;
  3. int length = startName.length();
  4. //just type short names
  5. if(length <= 5){
  6. return startName.toLowerCase();
  7. }
  8. //handle jewelery
  9. else if(startName.matches("(Amulet|Ring|Necklace|Bracelet) of .*")){
  10. return startName.replaceAll("(Amulet|Ring|Necklace|Bracelet) of ","").replaceAll("\\(.*\\)","").toLowerCase();
  11. }
  12. //handle staves
  13. else if(startName.matches(".*[Ss]taff.*")){
  14. if(startName.matches(".*of.*")){
  15. int index = startName.indexOf("of");
  16. return startName.substring(General.randomSD(0,index,index-4,3),General.randomSD(length-4,length,length-1,2)).toLowerCase();
  17. } else {
  18. return startName.substring(0,General.randomSD(5,length,General.random(7,10),3)).toLowerCase();
  19. }
  20. }
  21. //handle types/gods
  22. else if(startName.matches("(Bronze|Iron|Steel|Black|Mithril|Adamant|Rune|Dragon|Ancient|Armadyl|Bandos|Guthix|Saradomin|Zamorak) .*")){
  23. String[] parts = startName.split(" ");
  24. int index = startName.indexOf(" ");
  25. int remainingLength = length - parts[0].length();
  26. return (parts[0] + startName.substring(index,index + General.randomSD(0,remainingLength-1,2,2))).toLowerCase();
  27. }
  28. //handle apostrophe names
  29. else if((aposIndex = startName.indexOf("'")) > -1 && aposIndex > 2){
  30. return startName.substring(0,startName.indexOf("'")).toLowerCase();
  31. }
  32. //handle herb names
  33. else if(startName.matches("(Grimy|Clean) .*")){
  34. return startName.split(" ")[1];
  35. }
  36. //handle any names with spaces
  37. else if(startName.contains(" ")){
  38. String[] parts = startName.split(" ");
  39. if(parts.length > 2){
  40. int index = startName.indexOf(" ");
  41. int remainingLength = length - parts[0].length();
  42. return (parts[0] + " " + startName.substring(index+1,index+1 + General.randomSD(0,remainingLength-1,(remainingLength-1)/2,(remainingLength-1)/3))).toLowerCase();
  43. } else if(parts[1].length() <= 3){
  44. return parts[0].toLowerCase();
  45. } else if(parts[0].length() > 8){
  46. return parts[0].substring(0,General.randomSD(4,parts[0].length() - 1,6,2)).toLowerCase();
  47. }
  48. return (parts[0] + " " + parts[1].substring(0,General.randomSD(1,parts[1].length() - 1,2,2))).toLowerCase();
  49. }
  50. //handle all other names
  51. return startName.substring(0,General.randomSD(3,length,3 + length/3,length/3)).toLowerCase();
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement