summaryrefslogtreecommitdiffstats
path: root/web/static/js/kill.js
blob: 8fe142a4e41441a28f805b21eb9887a92fb0b2f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
window.addEvent('domready', function() {
	var kill_id = document.location.pathname.split('/').getLast();
	ykill.api('/kill/' + kill_id, function(data) {
		var table = $('victim');
		var kill = data['kill'];
		var victim = data['victim'];
		table.adopt(
			new Element('tr').adopt(
				new Element('td', {'html': 'time'}),
				new Element('td', {'html': kill['kill_time']})
			),
			new Element('tr').adopt(
				new Element('td', {'html': 'system'}),
				new Element('td', {'html': kill['solarSystemName'] + ' (' + kill['security'].toFixed(1) + ')'})
			),
			new Element('tr').adopt(
				new Element('td').grab(
					ykill.portrait(victim['character_id'], victim['character_name'], 'character', '_64.jpg')
				),
				new Element('td', {'html': victim['character_name']})
			),
			new Element('tr').adopt(
				new Element('td').grab(
					ykill.portrait(victim['corporation_id'], victim['corporation_name'], 'corporation', '_64.png')
				),
				new Element('td', {'html': victim['corporation_name']})
			)
		);
		if (victim['alliance_id'])
			table.grab(new Element('tr').adopt(
				new Element('td').grab(
					ykill.portrait(victim['alliance_id'], victim['alliance_name'], 'alliance', '_64.png')
				),
				new Element('td', {'html': victim['alliance_name']})
			));
		if (victim['faction_id'])
			table.grab(new Element('tr').adopt(
				new Element('td').grab(
					ykill.portrait(victim['faction_id'], victim['faction_name'], 'faction', '_64.png')
				),
				new Element('td', {'html': victim['faction_name']})
			));
		table.grab(new Element('tr').adopt(
			new Element('td').grab(
				ykill.portrait(victim['ship_type_id'], victim['ship_name'], 'type', '_64.png')
			),
			new Element('td', {'html': victim['ship_name']})
		));

		var div = $('ship');
		div.setStyle('background-image', 'url(//image.eveonline.com/render/' + victim['ship_type_id'] + '_256.png)');

		table = $('attackers');
		show_attacker(table, data['final_blow']);
		data['attackers'].each(function(char) {
			show_attacker(table, char);
		});

		table = $('items');
		var items = data['items'];
		var slots = ['subsystem', 'high', 'medium', 'low', 'rig', 'drone bay', 'cargo', 'special hold', 'implant', '???'];
		slots.each(function(slot) {
			if (!items[slot])
				return;
			table.grab(new Element('tr').grab(
				new Element('td', {'html': slot, 'colspan': 3, 'class': 'slot'})
			));
			var slot_items = items[slot];
			['dropped', 'destroyed'].each(function(item_class) {
				Object.each(slot_items[item_class], function(item, item_ids) {
					var type_id = item_ids.split(',', 2)[0]
					var item_name = item[1];
					var count = item[0];
					table.grab(new Element('tr').adopt(
						new Element('td').grab(
							new Element('img', {
								'src': '//image.eveonline.com/Type/' + type_id + '_32.png',
								'alt': item_name,
							})
						),
						new Element('td', {'html': item_name}),
						new Element('td', {'html': count, 'class': item_class})
					));
				});
			});
		});
	});

	function show_attacker(table, char) {
		var tr = new Element('tr');

		var td = new Element('td').adopt(
			ykill.portrait(char['character_id'], char['character_name'], 'character', '_32.jpg'),
			ykill.portrait(char['corporation_id'], char['corporation_name'], 'corporation', '_32.png')
		);
		if (char['alliance_id'])
			td.grab(ykill.portrait(char['alliance_id'], char['alliance_name'], 'alliance', '_32.png'));
		if (char['faction_id'])
			td.grab(ykill.portrait(char['faction_id'], char['faction_name'], 'faction', '_32.png'));
		tr.grab(td);

		td = new Element('td');
		td.appendText(char['character_name']);
		td.grab(new Element('br'));
		td.appendText(char['corporation_name']);
		if (char['alliance_id']) {
			td.grab(new Element('br'));
			td.appendText(char['alliance_name']);
		}
		if (char['faction_id']) {
			td.grab(new Element('br'));
			td.appendText(char['faction_name']);
		}
		tr.grab(td);

		td = new Element('td').adopt(
			ykill.portrait(char['ship_type_id'], char['ship_name'], 'type', '_32.png'),
			ykill.portrait(char['weapon_type_id'], char['weapon_name'], 'type', '_32.png')
		);
		tr.grab(td);
		tr.grab(new Element('td').appendText(char['damage']));

		table.grab(tr);
	}
});