Advertisement
tonytyzhang

Untitled

Mar 28th, 2020
561
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. function onInstall(e) {
  2. onOpen(e);
  3. }
  4. function onOpen(e) {
  5. SpreadsheetApp.getUi()
  6. .createAddonMenu()
  7. .addItem('Generate String', 'showSidebar')
  8. .addToUi();
  9. }
  10.  
  11. function showSidebar() {
  12. var ui = HtmlService.createHtmlOutputFromFile('Sidebar')
  13. .setTitle('BH Scouting Report to Text');
  14. SpreadsheetApp.getUi()
  15. .showSidebar(ui);
  16. }
  17.  
  18. function formatPosition(position){
  19. if(position==1){
  20. //throw error
  21. }else if(position==2){
  22. return "2nd";
  23. }else if(position==3){
  24. return "3rd";
  25. }else{
  26. return position + "th";
  27. }
  28. }
  29.  
  30. function easyPosition(position, totalMembers){
  31. if(position==1){
  32. return "leader";
  33. }else if(position==totalMembers){
  34. return "last";
  35. }else if(position <= totalMembers/2){
  36. return formatPosition(position) + " from top";
  37. }else{
  38. return formatPosition(totalMembers-position+1) + " from bottom";
  39. }
  40. }
  41.  
  42. function formatFrom2DArray(array, rowLimit){
  43. var output = ""
  44. var totalMembers = 0;
  45. for (var row = 0; row < 20; row++) {
  46. if(array[row][0]!=""){
  47. totalMembers++;
  48. }
  49. }
  50. for (var row = 0; row < rowLimit; row++) {
  51. if(array[row][0]==""){
  52. continue;
  53. }
  54. output += array[row][0];
  55. output += "(Fame " + array[row][2];
  56. output += ", " + easyPosition(parseInt(array[row][1]), totalMembers) + "): ";
  57. output += array[row][3] + " (" + array[row][5] + " hp, ~" + Math.round(parseFloat(array[row][6])*100) + "% pw" + (array[row][7]=="Y"?", has god!":"") + ") + ";
  58. output += array[row][8] + " (" + array[row][10] + " hp, ~" + Math.round(parseFloat(array[row][11])*100) + "% pw" + (array[row][12]=="Y"?", has god!":"") + ")\n";
  59. }
  60. return output;
  61. }
  62.  
  63. function getFormattedString() {
  64. var rowLimit = 20;
  65. var sheet = SpreadsheetApp.getActiveSheet();
  66. var textToDisplay = "";
  67. var valuesSortedByHP = sheet.getRange(4, 114, 20, 13).getValues();
  68. var valuesSortedByPW = sheet.getRange(4, 128, 20, 13).getValues();
  69. textToDisplay += "Enemies sorted by HP:\n";
  70. textToDisplay += formatFrom2DArray(valuesSortedByHP, rowLimit);
  71. textToDisplay += "Enemies sorted by PW:\n";
  72. textToDisplay += formatFrom2DArray(valuesSortedByPW, rowLimit);
  73. return textToDisplay;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement