Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.99 KB | None | 0 0
  1. function pull(toonName) {
  2.  
  3. if(!toonName) {
  4. return ""
  5. }
  6.  
  7. var toonJSON = UrlFetchApp.fetch("https://eu.api.battle.net/wow/character/hyjal/"+toonName+"?fields=items,statistics,progression,audit,professions&locale=en_UK&apikey=y7sg78b4fnh3337fuds5v4vwzvbpjmc6")
  8. var toon = JSON.parse(toonJSON.getContentText())
  9.  
  10. var wodstats = toon.statistics.subCategories[5].subCategories[5].statistics
  11.  
  12. var bosskills = 0
  13. for (var i = 1; i <= 15; i+=2){
  14. bosskills += wodstats[i].quantity
  15. }
  16.  
  17. var grgemindex = [115809, 115811, 115812, 115813, 115814, 115815],
  18. gemindex = [115803, 115804, 115805, 115806, 115807, 115808],
  19. gem75index = [127760, 127761, 127762, 127763, 127764, 127765],
  20. gems75 = 0,
  21. grgems = 0,
  22. gems = 0
  23.  
  24. var getItem = function(item){
  25. var itemlevel = 0,
  26. itemlevelcm = 0
  27. if (item) {
  28. itemlevel = item.itemLevel,
  29. itemlevelcm = itemlevel
  30. if (itemlevel > 630) { var itemlevelcm = 630 }
  31. if (gem75index.indexOf(item["gem0"]) > -1) {
  32. gems75++
  33. } else if (grgemindex.indexOf(item["gem0"]) > -1) {
  34. grgems++
  35. } else if (gemindex.indexOf(item["gem0"]) > -1) {
  36. gems++
  37. }
  38. }
  39. return [itemlevel, itemlevelcm]
  40. }
  41.  
  42. var getItemNameLeg = function(item) {
  43. var name = 0
  44. var quality
  45. if(item.quality == 5)
  46. name = item.name
  47. else {
  48. name = ""
  49. }
  50. return [name]
  51. }
  52.  
  53. var quality = function(item) {
  54. var quality = 0
  55. quality = item.quality
  56. return [quality]
  57. }
  58. var getItemName = function(item) {
  59. var name = 0
  60. name = item.name
  61. return [name]
  62. }
  63.  
  64. var head = getItem(toon.items.head),
  65. neck = getItem(toon.items.neck),
  66. shoulders = getItem(toon.items.shoulder),
  67. back = getItem(toon.items.back),
  68. chest = getItem(toon.items.chest),
  69. wrist = getItem(toon.items.wrist),
  70. hands = getItem(toon.items.hands),
  71. waist = getItem(toon.items.waist),
  72. legs = getItem(toon.items.legs),
  73. feet = getItem(toon.items.feet),
  74. finger1 = getItem(toon.items.finger1),
  75. finger2 = getItem(toon.items.finger2),
  76. trinket1 = getItem(toon.items.trinket1),
  77. trinket1Name = getItemName(toon.items.trinket1),
  78. trinket2 = getItem(toon.items.trinket2),
  79. trinket2Name = getItemName(toon.items.trinket2),
  80. mainHand = getItem(toon.items.mainHand),
  81. offHand = getItem(toon.items.offHand),
  82. headLeg = getItemNameLeg(toon.items.head),
  83. neckLeg = getItemNameLeg(toon.items.neck),
  84. shouldersLeg = getItemNameLeg(toon.items.shoulder),
  85. backLeg = getItemNameLeg(toon.items.back),
  86. chestLeg = getItemNameLeg(toon.items.chest),
  87. wristLeg = getItemNameLeg(toon.items.wrist),
  88. handsLeg = getItemNameLeg(toon.items.hands),
  89. waistLeg = getItemNameLeg(toon.items.waist),
  90. legsLeg = getItemNameLeg(toon.items.legs),
  91. feetLeg = getItemNameLeg(toon.items.feet),
  92. finger1Leg = getItemNameLeg(toon.items.finger1),
  93. finger2Leg = getItemNameLeg(toon.items.finger2),
  94. trinket1Leg = getItemNameLeg(toon.items.trinket1),
  95. trinket2Leg = getItemNameLeg(toon.items.trinket2)
  96.  
  97.  
  98. var CM_iL_Total = head[1]+neck[1]+shoulders[1]+back[1]+chest[1]+wrist[1]+hands[1]+waist[1]+legs[1]+feet[1]+finger1[1]+finger2[1]+trinket1[1]+trinket2[1]+mainHand[1]+offHand[1]
  99. var CM_iL = CM_iL_Total / 16
  100. if (offHand[1] == 0) { CM_iL = CM_iL_Total / 15 }
  101.  
  102. var killsforRaidId = function(raid_id){
  103. var normal = 0,
  104. heroic = 0,
  105. mythic = 0;
  106.  
  107. toon.progression.raids[raid_id].bosses.forEach(function(boss){
  108. normal += boss.normalKills
  109. heroic += boss.heroicKills
  110. mythic += boss.mythicKills
  111. })
  112. return [normal, heroic, mythic]
  113. }
  114.  
  115. var highmaul = killsforRaidId(32),
  116. highmaulNormal = highmaul[0],
  117. highmaulHeroic = highmaul[1],
  118. highmaulMythic = highmaul[2]
  119.  
  120. var brf = killsforRaidId(33),
  121. brfNormal = brf[0],
  122. brfHeroic = brf[1],
  123. brfMythic = brf[2]
  124.  
  125. var hfc = killsforRaidId(34),
  126. hfcNormal = hfc[0],
  127. hfcHeroic = hfc[1],
  128. hfcMythic = hfc[2]
  129.  
  130. var giftindex = [5310, 5317, 5311, 5324, 5318, 5325, 5312, 5319, 5326, 5313, 5320, 5327, 5314, 5321, 5328],
  131. breathindex = [5281, 5285, 5284, 5298, 5292, 5297, 5300, 5293, 5299, 5302, 5294, 5301, 5304, 5295, 5303]
  132.  
  133. var enchantsByItem = function(item) {
  134. if (item) {
  135. var enchant
  136. if (giftindex.indexOf(item.tooltipParams["enchant"]) > -1) {
  137. enchant = "Gift"
  138. } else if (breathindex.indexOf(item.tooltipParams["enchant"]) > -1) {
  139. enchant = "Breath"
  140. } else {
  141. enchant = "None"
  142. }
  143. }
  144. else { enchant = "N/A" }
  145. return enchant
  146. }
  147.  
  148. var neckchant = enchantsByItem(toon.items.neck),
  149. backchant = enchantsByItem(toon.items.back),
  150. finger1chant = enchantsByItem(toon.items.finger1),
  151. finger2chant = enchantsByItem(toon.items.finger2)
  152.  
  153. var getWeaponEnchant = function(enchantid) {
  154. if (toon.class == 6 && enchantid) {return "DK"}
  155. switch (enchantid) {
  156. case 5336:
  157. return "Blackrock"
  158. break;
  159. case 5335:
  160. return "Shadowmoon"
  161. break;
  162. case 5334:
  163. return "Frostwolf"
  164. break;
  165. case 5331:
  166. return "Shattered Hand"
  167. break;
  168. case 5276:
  169. return "Megawatt"
  170. break;
  171. case 5275:
  172. return "Oglethorp's"
  173. break;
  174. case 5383:
  175. return "Hemet's"
  176. break;
  177. case 5330:
  178. return "Thunderlord"
  179. break;
  180. case 5337:
  181. return "Warsong"
  182. break;
  183. case 5384:
  184. return "Bleeding Hollow"
  185. break;
  186. default:
  187. return "None"
  188. }
  189. }
  190.  
  191. var wepchant,
  192. wepchantoh
  193.  
  194. if (toon.items.mainHand) {
  195. wepchant = getWeaponEnchant(toon.items.mainHand.tooltipParams["enchant"])
  196. } else { wepchant = "N/A" }
  197.  
  198. if (toon.items.offHand && toon.items.offHand.weaponInfo) {
  199. wepchantoh = getWeaponEnchant(toon.items.offHand.tooltipParams["enchant"])
  200. }
  201.  
  202. var currentdate = new Date();
  203. var lastupdate = currentdate.getDate() + "/"
  204. + (currentdate.getMonth()+1) + " à "
  205. + currentdate.getHours() + "h"
  206. + ('0'+currentdate.getMinutes()).slice(-2)
  207.  
  208. var T18Sets = ["Arcanic Conclave",
  209. "Oathclaw",
  210. "Pious",
  211. "Reathrattle",
  212. "Demongaze",
  213. "Ceaseless Vigil",
  214. "Iron Wrath",
  215. "Felblade",
  216. "Hurricane's Eye",
  217. "Living Mountain", // TECTUS
  218. "Savage Hunt"]
  219.  
  220. var setPiece = function(slot) {
  221. var setsT18 = 0,
  222. setsT17 = 0
  223. if (slot.tooltipParams.set && (slot.itemLevel == 695 || slot.itemLevel == 710 || slot.itemLevel == 725 || slot.itemLevel == 701 || slot.itemLevel == 716 || slot.itemLevel == 731 || slot.itemLevel == 705 || slot.itemLevel == 720 || slot.itemLevel == 735 || slot.itemLevel == 711 || slot.itemLevel == 726 || slot.itemLevel == 741)) { //T18
  224. setsT18 = slot.tooltipParams.set.length
  225. }
  226. else if (slot.tooltipParams.set && (slot.itemLevel == 670 || slot.itemLevel == 685 || slot.itemLevel == 700 || slot.itemLevel == 676 || slot.itemLevel == 691 || slot.itemLevel == 706)) { //T17
  227. setsT17 = slot.tooltipParams.set.length
  228. }
  229. return [setsT18, setsT17]
  230. }
  231.  
  232. var tierHead = setPiece(toon.items.head),
  233. tierShoulder = setPiece(toon.items.shoulder),
  234. tierChest = setPiece(toon.items.chest),
  235. tierHands = setPiece(toon.items.hands),
  236. tierLegs = setPiece(toon.items.legs)
  237.  
  238. var tier18pieces = Math.max(tierHead[0], tierShoulder[0], tierChest[0], tierHands[0], tierLegs[0]),
  239. tier17pieces = Math.max(tierHead[1], tierShoulder[1], tierChest[1], tierHands[1], tierLegs[1])
  240.  
  241. var proffA = "Aucun";
  242. var proffB = "Aucun";
  243.  
  244. if (toon.professions.primary.length == 1) {
  245. proffA = toon.professions.primary[0].name+" "+toon.professions.primary[0].rank;
  246. }
  247.  
  248. if (toon.professions.primary.length == 2) {
  249. proffA = toon.professions.primary[0].name+" "+toon.professions.primary[0].rank;
  250. proffB = toon.professions.primary[1].name+" "+toon.professions.primary[1].rank;
  251. }
  252.  
  253. var classNameNum = toon.class
  254. var className
  255. switch (classNameNum) {
  256. case 1:
  257. className = "Warrior"
  258. break;
  259. case 2:
  260. className = "Paladin"
  261. break;
  262. case 3:
  263. className = "Hunter"
  264. break;
  265. case 4:
  266. className = "Rogue"
  267. break;
  268. case 5:
  269. className = "Priest"
  270. break;
  271. case 6:
  272. className = "Death Knight"
  273. break;
  274. case 7:
  275. className = "Shaman"
  276. break;
  277. case 8:
  278. className = "Mage"
  279. break;
  280. case 9:
  281. className = "Warlock"
  282. break;
  283. case 10:
  284. className = "Monk"
  285. break;
  286. case 11:
  287. className = "Druid"
  288. break;
  289. case 12:
  290. className = "Demon Hunter"
  291. break;
  292. default:
  293. className = "Aucune"
  294. }
  295.  
  296. var toonInfo = new Array
  297. (
  298. toon.level,
  299. className,
  300. toon.items.averageItemLevel,
  301. proffA, proffB,
  302. mainHand[0], offHand[0],
  303. head[0], neck[0],
  304. shoulders[0], back[0],
  305. chest[0], wrist[0],
  306. hands[0], waist[0],
  307. legs[0], feet[0],
  308. finger1[0], finger2[0],
  309. trinket1[0], trinket1Name[0]+' ['+trinket1[0]+']',
  310. trinket2[0], trinket2Name[0]+' ['+trinket2[0]+']',
  311. headLeg[0]+' (Head)', neckLeg[0]+' (Neck)',
  312. shouldersLeg[0]+' (Shoulders)', backLeg[0]+' (Back)',
  313. chestLeg[0]+' (Chest)', wristLeg[0]+' (Wrist)',
  314. handsLeg[0]+' (Hands)', waistLeg[0]+' (Waist)',
  315. legsLeg[0]+' (Legs)', feetLeg[0]+' (Feet)',
  316. finger1Leg[0]+' (Finger)', finger2Leg[0]+' (Finger)',
  317. trinket1Leg[0]+' (Trinket)',trinket2Leg[0]+' (Trinket)',
  318. lastupdate
  319.  
  320. )
  321. return toonInfo;
  322. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement