kill.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. window.addEvent('domready', function() {
  2. var kill_id = document.location.pathname.split('/').getLast();
  3. ykill.api('/kill/' + kill_id, function(data) {
  4. var table = $('victim');
  5. var kill = data['kill'];
  6. var victim = data['victim'];
  7. table.adopt(
  8. new Element('tr').adopt(
  9. new Element('td', {'html': 'time'}),
  10. new Element('td', {'html': kill['kill_time']})
  11. ),
  12. new Element('tr').adopt(
  13. new Element('td', {'html': 'system'}),
  14. new Element('td', {'html': kill['solarSystemName'] + ' (' + kill['security'].toFixed(1) + ')'})
  15. ),
  16. new Element('tr').adopt(
  17. new Element('td').grab(
  18. ykill.portrait(victim['character_id'], victim['character_name'], 'character', '_64.jpg')
  19. ),
  20. new Element('td', {'html': victim['character_name']})
  21. ),
  22. new Element('tr').adopt(
  23. new Element('td').grab(
  24. ykill.portrait(victim['corporation_id'], victim['corporation_name'], 'corporation', '_64.png')
  25. ),
  26. new Element('td', {'html': victim['corporation_name']})
  27. )
  28. );
  29. if (victim['alliance_id'])
  30. table.grab(new Element('tr').adopt(
  31. new Element('td').grab(
  32. ykill.portrait(victim['alliance_id'], victim['alliance_name'], 'alliance', '_64.png')
  33. ),
  34. new Element('td', {'html': victim['alliance_name']})
  35. ));
  36. if (victim['faction_id'])
  37. table.grab(new Element('tr').adopt(
  38. new Element('td').grab(
  39. ykill.portrait(victim['faction_id'], victim['faction_name'], 'faction', '_64.png')
  40. ),
  41. new Element('td', {'html': victim['faction_name']})
  42. ));
  43. table.grab(new Element('tr').adopt(
  44. new Element('td').grab(
  45. ykill.portrait(victim['ship_type_id'], victim['ship_name'], 'type', '_64.png')
  46. ),
  47. new Element('td', {'html': victim['ship_name']})
  48. ));
  49. var div = $('ship');
  50. div.setStyle('background-image', 'url(//image.eveonline.com/render/' + victim['ship_type_id'] + '_256.png)');
  51. table = $('attackers');
  52. show_attacker(table, data['final_blow']);
  53. data['attackers'].each(function(char) {
  54. show_attacker(table, char);
  55. });
  56. table = $('items');
  57. var items = data['items'];
  58. var slots = ['subsystem', 'high', 'medium', 'low', 'rig', 'drone bay', 'cargo', 'special hold', 'implant', '???'];
  59. slots.each(function(slot) {
  60. if (!items[slot])
  61. return;
  62. table.grab(new Element('tr').grab(
  63. new Element('td', {'html': slot, 'colspan': 3, 'class': 'slot'})
  64. ));
  65. var slot_items = items[slot];
  66. ['dropped', 'destroyed'].each(function(item_class) {
  67. Object.each(slot_items[item_class], function(item, item_ids) {
  68. var type_id = item_ids.split(',', 2)[0]
  69. var item_name = item[1];
  70. var count = item[0];
  71. table.grab(new Element('tr').adopt(
  72. new Element('td').grab(
  73. new Element('img', {
  74. 'src': '//image.eveonline.com/Type/' + type_id + '_32.png',
  75. 'alt': item_name,
  76. })
  77. ),
  78. new Element('td', {'html': item_name}),
  79. new Element('td', {'html': count, 'class': item_class})
  80. ));
  81. });
  82. });
  83. });
  84. });
  85. function show_attacker(table, char) {
  86. var tr = new Element('tr');
  87. var td = new Element('td').adopt(
  88. ykill.portrait(char['character_id'], char['character_name'], 'character', '_32.jpg'),
  89. ykill.portrait(char['corporation_id'], char['corporation_name'], 'corporation', '_32.png')
  90. );
  91. if (char['alliance_id'])
  92. td.grab(ykill.portrait(char['alliance_id'], char['alliance_name'], 'alliance', '_32.png'));
  93. if (char['faction_id'])
  94. td.grab(ykill.portrait(char['faction_id'], char['faction_name'], 'faction', '_32.png'));
  95. tr.grab(td);
  96. td = new Element('td');
  97. td.appendText(char['character_name']);
  98. td.grab(new Element('br'));
  99. td.appendText(char['corporation_name']);
  100. if (char['alliance_id']) {
  101. td.grab(new Element('br'));
  102. td.appendText(char['alliance_name']);
  103. }
  104. if (char['faction_id']) {
  105. td.grab(new Element('br'));
  106. td.appendText(char['faction_name']);
  107. }
  108. tr.grab(td);
  109. td = new Element('td').adopt(
  110. ykill.portrait(char['ship_type_id'], char['ship_name'], 'type', '_32.png'),
  111. ykill.portrait(char['weapon_type_id'], char['weapon_name'], 'type', '_32.png')
  112. );
  113. tr.grab(td);
  114. tr.grab(new Element('td').appendText(char['damage']));
  115. table.grab(tr);
  116. }
  117. });