WoTStatScript - ForumsExtendedStat

Adds stats and links for posts on official World of Tanks forums

ของเมื่อวันที่ 17-02-2015 ดู เวอร์ชันล่าสุด

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey, Greasemonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        WoTStatScript - ForumsExtendedStat
// @version     1.04
// @description Adds stats and links for posts on official World of Tanks forums
// @author      Orrie
// @contributor seriych
// @namespace   http://forum.worldoftanks.eu/index.php?/topic/263423-
// @icon        http://dl.dropboxusercontent.com/u/12497046/wot/projects/statscript/img/icon.png
// @include     /^http:\/\/forum\.worldoftanks\.(eu|com|ru|asia|kr)\/\S+(\/topic\/|\?showtopic=)/
// @include     /^http:\/\/forum\.worldoftanks\.(eu|com|ru|asia|kr)\/index\.php\?app=members&module=messaging&section=view&do=showConversation&topicID=\d+/
// @grant       GM_xmlhttpRequest
// @license     MIT License
// ==/UserScript==
(function () {
// server, API and cluster settings
var sc = {
	srv: document.location.host.match(/\.(eu|ru|com|asia|kr)/)[1],
	api: {
		ru: "98ca7c4fb108175b67d6505b9c3f3ebd",
		eu: "a7595640a90bf2d19065f3f2683b171c",
		com: "bf5dba0efd444d75147b6222dd903fd2",
		asia: "95f8713eccd322e52dbf521dbd28b19c",
		kr: "ffea0f1c3c5f770db09357d94fe6abfb"
	},
	sym: ","
},
srv = {
	s: "en", wl: false, nm: false, ws: false, wr: false, wn: false, cs: false, wlife: false
};
switch(sc.srv) {
	case ("eu"): // eu server
		srv.wl = srv.nm = srv.ws = srv.wr = srv.wn = srv.cs = srv.wlife = sc.srv;
		break;
	case ("ru"): // ru server
		srv.wl = srv.nm = srv.ws = srv.wr = srv.wn = srv.cs = sc.srv;
		srv.s = "ru";
		sc.sym = " ";
		break;
	case ("com"): // na server
		srv.wl = srv.nm = srv.ws = srv.cs = "na"; srv.wr = "com"; srv.wn = "us";
		break;
	case ("asia"): // asia server
		srv.wl = srv.nm = srv.ws = srv.wn = srv.cs = "sea"; srv.wr = "com";
		break;
	case ("kr"): // korean server
		srv.wl = srv.nm = srv.ws = srv.cs = srv.ch = sc.srv; srv.wr = "com";
		break;
	default: break;
}

// data uri
var uri = {
	icon_arrow:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPwAAAAJCAMAAAAhKrH/AAAAV1BMVEUAAAD///+TKCf9AQmTLiX9AQmTMir9AQmTLif9AQmTMSz9AQmTMir9AQmTMyn9AQmTMirvGgKTMirsIAGTMirwGQOTMiqTMirsIAGaNDGgNzfqJwDrJABtE0DNAAAAGnRSTlMAABERIiIzM0REVVVmZnd3iIqZmrvDzN3g7thzQuwAAACHSURBVHja5dVLDsIwDEXRCySlP0IMoXXs7H+dDBASA1bQ3B0cPclm2Fe2wrfTQeO3qwqqAKWek80HxfO/l1/EBRgtU2tf+KkJ7TO9hdVSV3jU42f6ZClY6Qt/d4n+BGol29jTwQN1pE2QbA610BVefImuwL7xsNAXXhVpEYY8kNfO/rwsyA3ekEsOT2YDLE8AAAAASUVORK5CYII="
};

// style contents
var style = elem("style", "wotstatscript", "", "text/css"),
	styleText = [
		".author_info {z-index: 1;}",
		".user_details > br {display: none;}",
		".basic_info {margin: 0 0 4px;}",
		".post_count.margin-bottom {margin: 0 0 5px;}",
		".battles_count {display: none;}",
		".i-xvm-lang {vertical-align: text-top;}",
		".t-table-stats {margin: 5px 0; width: auto;}",
		".t-table-stats td {padding: 0 5px 0 0; line-height: 16px;}",
		".t-table-stats td:last-of-type {font-weight: bold;}",
		".t-tables-links {background: #EDEDED; border: 1px solid #d5d5d5; border-radius: 3px; box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 0 0 3px 3px rgba(255, 255, 255, 0.2); display: inline-block; margin: 5px 0 5px -3px; overflow: hidden; padding: 3px 3px 0; text-overflow: ellipsis; white-space: nowrap; width: 90px;}",
		".t-tables-links:hover {border-color: #7D7D7D; width: 180px;}",
		".t-tables-links tbody {display: table; width: 180px;}",
		".t-tables-links td {padding: 0 0 2px; font-weight: bold;}",
		".t-tables-links td a { background: url("+uri.icon_arrow+") no-repeat scroll 0 2px rgba(0, 0, 0, 0); padding: 0 0 0 10px; vertical-align: middle;}",
		".t-tables-links td a:hover {background: url("+uri.icon_arrow+") no-repeat scroll -244px 2px rgba(0, 0, 0, 0);}",
		".t-tables-links tr:last-of-type td {}",
		".realm_kr .t-tables-links {width: 108px;}",
		".realm_kr .t-tables-links:hover {width: 215px;}",
		".realm_kr .t-tables-links tbody {width: 215px;}"
	];
	for (var css=0; css<styleText.length; css++) {
		style.appendChild(document.createTextNode(styleText[css]));
	}
	document.head.appendChild(style);
// end style

// colour scale array
var colArr = {
	//      col        wr  bat    wn8   wn7   eff   nm    pr
	sUni: [ "#5A3175", 65, 30000, 2900, 2050, 2050, 2000       ], // 99.99% super unicum
	uni:  [ "#83579D", 60, 25000, 2450, 1850, 1800, 1950, 9930 ], // 99.90% unicum
	gr8:  [ "#3972C6", 56, 21000, 2000, 1550, 1500, 1750, 8525 ], // 99.00% great
	vGud: [ "#4099BF", 54, 17000, 1600, 1350                   ], // 95.00% very good
	good: [ "#4D7326", 52, 13000, 1200, 1100, 1200, 1450, 6340 ], // 82.00% good
	aAvg: [ "#849B24", 50, 10000,  900                         ], // 63.00% above average
	avg:  [ "#CCB800", 48,  7000,  650,  900,  900, 1250, 4185 ], // 40.00% average
	bAvg: [ "#CC7A00", 47,  3000,  450,  700,  600, 1150, 2020 ], // 20.00% below average
	bas:  [ "#CD3333", 46,  1000,  300,  500                   ], //  6.00% basic
	beg:  [ "#930D0D",  0,     0,    0,    0,    0,    0, 0    ], //  0.00% beginner
	dft:  [ "#6B6B6B" ], // default
	id: { "col": 0, "wr": 1, "bat": 2, "wn8": 3, "wn7": 4, "eff": 5, "nm": 6, "pr": 7 }  // type identifier
};

// localization
var loc = {
	f00: { en: "Client", ru: "Клиент"},
	f01: { en: "Winrate:", ru: "Винрейт:"},
	f02: { en: "Battles:", ru: "Боев:"},
	f03: { en: "Rating:", ru: "Рейтинг:"},
	f04: { en: "WN8:", ru: "WN8:"}
	//f00: { en: "f00_en", ru: "f00_ru"},
};
for (var l in loc) {
	if (loc.hasOwnProperty(l)) {
		loc[l] = loc[l][srv.s];
	}
}

// formula calculations and variables
// expected tank values v18 with premium tanks up to 0.9.6
var statObj = {
	3329:  { frag:1.92, dmg:249.77,  spot:1.43, def:1.51, win:59.03 }, // MS-1
	1025:  { frag:1.54, dmg:265.05,  spot:2.02, def:1.24, win:58.91 }, // BT-2
	4609:  { frag:1.67, dmg:282.37,  spot:1.40, def:1.67, win:60.03 }, // T-26
	15361: { frag:1.56, dmg:260.95,  spot:1.59, def:1.72, win:61.47 }, // T-60
	54529: { frag:1.63, dmg:279.98,  spot:1.53, def:1.46, win:58.64 }, // Tetrarch
	769:   { frag:0.88, dmg:218.00,  spot:2.10, def:1.03, win:54.71 }, // BT-7
	52225: { frag:1.70, dmg:359.74,  spot:2.39, def:1.71, win:61.83 }, // BT-SV
	56577: { frag:1.40, dmg:303.68,  spot:1.50, def:1.55, win:57.47 }, // LTP
	52737: { frag:1.04, dmg:235.25,  spot:1.69, def:1.17, win:53.40 }, // M3 Light
	53505: { frag:1.79, dmg:373.25,  spot:1.79, def:1.73, win:59.84 }, // T-127
	3073:  { frag:1.11, dmg:268.97,  spot:1.43, def:1.00, win:56.25 }, // T-46
	15105: { frag:1.43, dmg:337.87,  spot:1.49, def:1.63, win:58.12 }, // T-70
	2049:  { frag:0.74, dmg:273.73,  spot:2.37, def:0.84, win:55.37 }, // A-20
	9473:  { frag:0.70, dmg:260.62,  spot:2.99, def:0.65, win:55.52 }, // T-50
	15873: { frag:1.12, dmg:380.82,  spot:1.73, def:1.36, win:58.59 }, // T-80
	52481: { frag:1.46, dmg:409.99,  spot:1.54, def:1.63, win:57.22 }, // Valentine II
	16641: { frag:0.51, dmg:365.84,  spot:3.47, def:0.59, win:53.10 }, // MT-25
	18433: { frag:0.75, dmg:783.58,  spot:2.82, def:0.80, win:54.30 }, // LTTB
	18177: { frag:0.63, dmg:883.93,  spot:2.33, def:0.65, win:51.84 }, // T-54 ltwt.
	52993: { frag:0.87, dmg:293.06,  spot:2.40, def:0.78, win:54.78 }, // A-32
	1537:  { frag:1.12, dmg:418.64,  spot:1.27, def:0.92, win:56.80 }, // T-28
	51457: { frag:1.36, dmg:578.41,  spot:1.19, def:1.45, win:57.86 }, // Matilda IV
	1:     { frag:1.09, dmg:514.27,  spot:1.46, def:1.06, win:55.56 }, // T-34
	12289: { frag:1.03, dmg:683.16,  spot:2.02, def:0.98, win:54.35 }, // A-43
	2561:  { frag:1.02, dmg:734.66,  spot:1.45, def:0.96, win:55.05 }, // T-34-85
	58113: { frag:1.03, dmg:683.16,  spot:2.02, def:0.98, win:54.35 }, // T-34-85M
	12545: { frag:0.99, dmg:951.71,  spot:1.70, def:0.83, win:53.38 }, // A-44
	8961:  { frag:0.85, dmg:779.58,  spot:1.54, def:0.93, win:53.60 }, // KV-13
	6657:  { frag:0.94, dmg:877.16,  spot:1.56, def:1.00, win:54.34 }, // T-43
	57089: { frag:0.85, dmg:779.58,  spot:1.54, def:0.93, win:53.60 }, // T-44-85
	56833: { frag:0.85, dmg:779.58,  spot:1.54, def:0.93, win:53.60 }, // T-44-122
	13313: { frag:1.03, dmg:1279.62, spot:1.42, def:0.96, win:52.81 }, // Object 416
	4353:  { frag:0.82, dmg:1014.58, spot:1.65, def:0.85, win:52.59 }, // T-44
	59905: { frag:0.82, dmg:1147.96, spot:1.31, def:0.91, win:52.68 }, // T-54 First Prototype
	17665: { frag:1.03, dmg:1548.16, spot:1.56, def:0.87, win:53.24 }, // Object 430 Version II
	7937:  { frag:0.94, dmg:1457.35, spot:1.80, def:0.81, win:51.34 }, // T-54
	16897: { frag:1.01, dmg:1833.60, spot:1.70, def:0.89, win:49.47 }, // Object 140
	17153: { frag:1.00, dmg:1785.87, spot:1.65, def:0.88, win:50.03 }, // Object 430
	15617: { frag:1.00, dmg:1811.66, spot:1.74, def:0.85, win:49.66 }, // Object 907
	13825: { frag:0.92, dmg:1698.26, spot:1.62, def:0.76, win:48.56 }, // T-62A
	51713: { frag:1.28, dmg:612.11,  spot:1.19, def:1.30, win:55.12 }, // Churchill III
	11777: { frag:1.21, dmg:629.78,  spot:0.88, def:1.00, win:54.45 }, // KV-1
	18689: { frag:1.41, dmg:729.97,  spot:1.36, def:1.16, win:58.91 }, // KV-1S
	54017: { frag:1.50, dmg:699.26,  spot:1.42, def:1.37, win:60.67 }, // KV-220
	51201: { frag:1.50, dmg:699.26,  spot:1.42, def:1.37, win:60.67 }, // KV-220 Beta-Test
	10497: { frag:1.15, dmg:880.75,  spot:0.73, def:0.74, win:54.81 }, // KV-2
	2817:  { frag:1.16, dmg:892.47,  spot:1.14, def:0.74, win:54.90 }, // KV-85
	11265: { frag:1.05, dmg:816.85,  spot:0.92, def:0.81, win:54.57 }, // T-150
	513:   { frag:1.03, dmg:1078.74, spot:1.08, def:0.76, win:53.52 }, // IS
	5889:  { frag:1.05, dmg:1121.31, spot:0.88, def:0.77, win:54.16 }, // KV-3
	5377:  { frag:0.94, dmg:1331.96, spot:1.06, def:0.76, win:52.04 }, // IS-3
	9217:  { frag:1.11, dmg:1431.77, spot:1.19, def:0.83, win:53.64 }, // IS-6
	58881: { frag:1.11, dmg:1431.77, spot:1.19, def:0.83, win:53.64 }, // IS-5 (Object 730)
	11009: { frag:0.83, dmg:1206.36, spot:0.85, def:0.72, win:52.25 }, // KV-4
	53249: { frag:0.99, dmg:1266.56, spot:1.10, def:0.85, win:51.87 }, // KV-5
	11521: { frag:0.89, dmg:1540.88, spot:1.14, def:0.67, win:50.23 }, // IS-8
	10753: { frag:0.95, dmg:1695.84, spot:0.97, def:0.69, win:52.57 }, // ST-I
	6145:  { frag:0.91, dmg:1871.69, spot:1.10, def:0.76, win:49.02 }, // IS-4
	7169:  { frag:0.86, dmg:1789.37, spot:1.23, def:0.62, win:49.14 }, // IS-7
	58369: { frag:0.84, dmg:1771.13, spot:1.31, def:0.63, win:47.91 }, // Object 260 mod. 1945
	5121:  { frag:1.80, dmg:298.73,  spot:0.47, def:1.46, win:59.07 }, // AT-1
	6401:  { frag:1.64, dmg:407.49,  spot:0.98, def:1.59, win:58.41 }, // SU-76
	54273: { frag:2.22, dmg:453.48,  spot:0.97, def:1.81, win:62.70 }, // SU-76I
	6913:  { frag:1.57, dmg:580.78,  spot:1.16, def:1.47, win:58.94 }, // SU-85B
	257:   { frag:1.19, dmg:595.07,  spot:0.56, def:1.20, win:54.53 }, // SU-85
	53761: { frag:1.46, dmg:670.32,  spot:0.88, def:1.72, win:54.75 }, // SU-85I
	3585:  { frag:1.24, dmg:876.79,  spot:0.81, def:1.13, win:54.85 }, // SU-100
	54785: { frag:1.26, dmg:909.16,  spot:0.61, def:0.87, win:55.28 }, // SU-100Y
	10241: { frag:1.03, dmg:1029.66, spot:0.85, def:1.16, win:53.31 }, // SU-100M1
	55297: { frag:1.25, dmg:1164.81, spot:0.81, def:0.95, win:54.33 }, // SU-122-44
	2305:  { frag:1.09, dmg:1075.09, spot:0.54, def:0.83, win:52.83 }, // SU-152
	58625: { frag:1.19, dmg:1588.72, spot:0.56, def:0.79, win:51.54 }, // ISU-130
	7425:  { frag:1.19, dmg:1588.72, spot:0.56, def:0.79, win:51.54 }, // ISU-152
	9985:  { frag:0.98, dmg:1241.29, spot:0.93, def:0.96, win:50.35 }, // SU-101
	8193:  { frag:1.24, dmg:2056.67, spot:0.70, def:0.83, win:51.57 }, // Object 704
	12033: { frag:0.97, dmg:1542.79, spot:0.90, def:0.86, win:49.94 }, // SU-122-54
	14337: { frag:1.13, dmg:2190.82, spot:0.99, def:0.81, win:49.72 }, // Object 263
	13569: { frag:1.17, dmg:2299.37, spot:0.83, def:0.77, win:49.06 }, // Object 268
	3841:  { frag:1.35, dmg:251.57,  spot:0.12, def:1.67, win:53.42 }, // SU-18
	7681:  { frag:1.60, dmg:600.17,  spot:0.12, def:2.08, win:58.49 }, // SU-26
	4865:  { frag:1.19, dmg:697.45,  spot:0.10, def:1.66, win:53.65 }, // SU-5
	16385: { frag:1.02, dmg:575.07,  spot:0.09, def:1.25, win:53.06 }, // SU-122A
	5633:  { frag:1.15, dmg:1148.14, spot:0.06, def:1.32, win:52.49 }, // SU-8
	1793:  { frag:0.95, dmg:1329.10, spot:0.05, def:0.84, win:50.34 }, // S-51
	16129: { frag:0.93, dmg:1075.26, spot:0.04, def:0.85, win:52.37 }, // SU-14-1
	4097:  { frag:1.01, dmg:1439.64, spot:0.02, def:0.71, win:50.88 }, // SU-14-2
	8449:  { frag:1.00, dmg:1672.34, spot:0.03, def:0.71, win:49.67 }, // 212A
	8705:  { frag:1.02, dmg:1912.22, spot:0.05, def:0.90, win:48.59 }, // Object 261
	3089:  { frag:1.95, dmg:258.63,  spot:2.26, def:1.50, win:59.48 }, // Leichttraktor
	785:   { frag:1.63, dmg:275.47,  spot:1.92, def:1.65, win:59.76 }, // Pz.Kpfw. 35 (t)
	52497: { frag:2.11, dmg:345.64,  spot:1.91, def:2.65, win:57.09 }, // Pz.Kpfw. 38H 735 (f)
	12817: { frag:1.21, dmg:195.14,  spot:2.65, def:0.80, win:59.10 }, // Pz.Kpfw. I
	2065:  { frag:1.51, dmg:250.64,  spot:2.07, def:1.51, win:58.68 }, // Pz.Kpfw. II
	60433: { frag:1.21, dmg:195.14,  spot:2.65, def:0.80, win:59.10 }, // Pz.Kpfw. II Ausf. D
	3345:  { frag:1.55, dmg:363.12,  spot:1.57, def:1.37, win:60.14 }, // Pz.Kpfw. 38 (t)
	12561: { frag:1.13, dmg:243.00,  spot:3.07, def:1.15, win:56.92 }, // Pz.Kpfw. I Ausf. C
	13073: { frag:1.03, dmg:272.73,  spot:1.84, def:1.35, win:58.35 }, // Pz.Kpfw. II Ausf. G
	51729: { frag:2.01, dmg:380.52,  spot:2.00, def:2.09, win:68.24 }, // Pz.Kpfw. II Ausf. J
	4881:  { frag:1.20, dmg:278.00,  spot:1.86, def:0.94, win:56.96 }, // Pz.Kpfw. III Ausf. A
	54801: { frag:1.18, dmg:270.45,  spot:3.01, def:1.41, win:59.85 }, // T-15
	8209:  { frag:0.75, dmg:275.30,  spot:2.30, def:0.82, win:55.31 }, // Pz.Kpfw. 38 (t) n.A.
	6161:  { frag:0.89, dmg:323.33,  spot:2.77, def:0.97, win:57.51 }, // Pz.Kpfw. II Luchs
	5393:  { frag:0.61, dmg:351.24,  spot:2.78, def:0.66, win:53.55 }, // VK 16.02 Leopard
	10001: { frag:0.64, dmg:520.86,  spot:2.70, def:0.52, win:53.52 }, // VK 28.01
	14353: { frag:0.61, dmg:667.90,  spot:2.07, def:0.60, win:51.29 }, // Aufklärungspanzer Panther
	18449: { frag:0.68, dmg:911.55,  spot:2.39, def:0.75, win:51.62 }, // Spähpanzer Ru 251
	59665: { frag:1.19, dmg:300.59,  spot:1.07, def:1.05, win:56.53 }, // Grosstraktor - Krupp
	17169: { frag:1.51, dmg:333.55,  spot:1.32, def:1.03, win:59.26 }, // Pz.Kpfw. IV Ausf. A
	51985: { frag:1.70, dmg:391.83,  spot:1.54, def:1.73, win:61.13 }, // Pz.Kpfw. S35 739 (f)
	4369:  { frag:1.01, dmg:339.46,  spot:1.96, def:0.90, win:56.28 }, // Pz.Kpfw. III
	17425: { frag:1.16, dmg:443.43,  spot:1.35, def:0.99, win:55.97 }, // Pz.Kpfw. IV Ausf. D
	13585: { frag:1.21, dmg:406.33,  spot:1.72, def:1.29, win:57.62 }, // VK 20.01 (D)
	61457: { frag:0.90, dmg:427.40,  spot:1.59, def:0.85, win:52.96 }, // Pz.Kpfw. III Ausf. K
	6417:  { frag:0.90, dmg:427.40,  spot:1.59, def:0.85, win:52.96 }, // Pz.Kpfw. III/IV
	18193: { frag:1.31, dmg:611.02,  spot:1.41, def:0.96, win:56.68 }, // Pz.Kpfw. IV Ausf. H
	55057: { frag:1.30, dmg:610.92,  spot:1.34, def:1.62, win:53.61 }, // Pz.Kpfw. IV hydrostat.
	54545: { frag:1.16, dmg:570.31,  spot:1.57, def:1.21, win:55.99 }, // T-25
	57361: { frag:0.98, dmg:736.75,  spot:1.07, def:1.24, win:52.27 }, // Pz.Kpfw. IV Schmalturm
	51473: { frag:0.66, dmg:450.51,  spot:1.61, def:0.71, win:49.63 }, // Pz.Kpfw. V/IV
	54033: { frag:0.66, dmg:450.51,  spot:1.61, def:0.71, win:49.63 }, // Pz.Kpfw. V/IV Alpha
	14097: { frag:1.04, dmg:735.74,  spot:1.68, def:1.08, win:54.27 }, // VK 30.01 (D)
	7185:  { frag:0.93, dmg:678.91,  spot:1.29, def:0.82, win:52.86 }, // VK 30.01 (P)
	15889: { frag:1.00, dmg:737.19,  spot:1.41, def:1.02, win:52.16 }, // VK 30.02 (M)
	1297:  { frag:0.88, dmg:894.97,  spot:1.22, def:1.19, win:52.69 }, // Panther
	57617: { frag:0.93, dmg:870.17,  spot:1.27, def:1.19, win:51.98 }, // Panther/M10
	4113:  { frag:0.93, dmg:860.50,  spot:1.58, def:0.99, win:52.34 }, // VK 30.02 (D)
	13841: { frag:0.86, dmg:1162.01, spot:1.22, def:1.00, win:50.42 }, // Indien-Panzer
	8465:  { frag:0.82, dmg:1076.79, spot:1.33, def:0.90, win:51.94 }, // Panther II
	60177: { frag:0.82, dmg:1076.79, spot:1.33, def:0.90, win:51.94 }, // Panther mit 8.8cm L/71
	10257: { frag:0.89, dmg:1482.21, spot:1.44, def:0.68, win:49.75 }, // E 50
	14865: { frag:0.86, dmg:1451.40, spot:1.40, def:0.89, win:48.89 }, // Leopard Prototyp A
	60945: { frag:0.94, dmg:1457.35, spot:1.80, def:0.81, win:51.34 }, // Т-55 NVA DDR
	12305: { frag:0.91, dmg:1815.14, spot:1.45, def:0.71, win:48.32 }, // E 50 Ausf. M
	14609: { frag:0.96, dmg:1827.88, spot:1.67, def:0.91, win:47.92 }, // Leopard 1
	13329: { frag:1.21, dmg:417.73,  spot:1.03, def:1.27, win:54.75 }, // Durchbruchswagen 2
	52241: { frag:1.79, dmg:519.50,  spot:1.67, def:1.73, win:60.86 }, // Pz.Kpfw. B2 740 (f)
	2577:  { frag:1.07, dmg:664.49,  spot:1.27, def:1.08, win:53.89 }, // VK 30.01 (H)
	2321:  { frag:1.10, dmg:810.08,  spot:1.26, def:1.09, win:54.60 }, // VK 36.01 (H)
	10769: { frag:0.97, dmg:1098.74, spot:0.99, def:1.04, win:53.38 }, // Tiger (P)
	529:   { frag:0.99, dmg:1100.50, spot:0.99, def:1.00, win:52.84 }, // Tiger I
	54289: { frag:0.83, dmg:1239.23, spot:0.87, def:0.86, win:49.33 }, // Löwe
	5137:  { frag:0.86, dmg:1247.99, spot:1.00, def:0.83, win:50.75 }, // Tiger II
	10513: { frag:0.88, dmg:1229.43, spot:1.25, def:0.84, win:51.05 }, // VK 45.02 (P) Ausf. A
	9745:  { frag:0.92, dmg:1608.91, spot:1.08, def:0.70, win:50.77 }, // E 75
	7441:  { frag:0.87, dmg:1540.44, spot:0.95, def:0.64, win:50.02 }, // VK 45.02 (P) Ausf. B
	9489:  { frag:0.94, dmg:1959.15, spot:1.03, def:0.53, win:49.67 }, // E 100
	6929:  { frag:0.85, dmg:1783.87, spot:0.93, def:0.69, win:49.46 }, // Maus
	58641: { frag:0.96, dmg:2025.56, spot:1.14, def:0.52, win:49.81 }, // VK 72.01 (K)
	3601:  { frag:2.01, dmg:327.84,  spot:1.16, def:1.66, win:59.92 }, // Panzerjäger I
	6673:  { frag:1.45, dmg:406.89,  spot:1.08, def:1.45, win:58.75 }, // Marder II
	1809:  { frag:1.49, dmg:477.76,  spot:0.62, def:1.12, win:56.82 }, // Hetzer
	11281: { frag:1.50, dmg:565.29,  spot:1.03, def:1.57, win:57.75 }, // Marder 38T
	17937: { frag:1.43, dmg:488.97,  spot:0.81, def:1.19, win:56.74 }, // StuG III Ausf. B
	16145: { frag:1.22, dmg:643.66,  spot:0.80, def:1.14, win:52.98 }, // Pz.Sfl. IVc
	1041:  { frag:1.19, dmg:599.06,  spot:0.75, def:1.31, win:53.81 }, // StuG III Ausf. G
	60689: { frag:1.19, dmg:599.06,  spot:0.75, def:1.31, win:53.81 }, // StuG IV
	57105: { frag:1.14, dmg:863.10,  spot:0.79, def:1.14, win:52.25 }, // Dicker Max
	1553:  { frag:1.06, dmg:739.43,  spot:0.77, def:1.19, win:52.29 }, // Jagdpanzer IV
	11793: { frag:1.20, dmg:938.85,  spot:0.70, def:1.20, win:51.86 }, // Nashorn
	55569: { frag:1.31, dmg:1061.27, spot:1.60, def:1.69, win:51.64 }, // E 25
	3857:  { frag:1.07, dmg:1101.36, spot:0.74, def:1.03, win:52.53 }, // Jagdpanther
	11025: { frag:1.06, dmg:1081.86, spot:0.53, def:0.97, win:50.47 }, // Sturer Emil
	55313: { frag:0.97, dmg:1303.38, spot:0.77, def:1.12, win:49.76 }, // 8.8 cm Pak 43 Jagdtiger
	7697:  { frag:1.09, dmg:1488.75, spot:0.62, def:0.94, win:50.72 }, // Ferdinand
	11537: { frag:1.14, dmg:1538.09, spot:0.81, def:0.96, win:51.19 }, // Jagdpanther II
	16657: { frag:1.29, dmg:1724.44, spot:0.63, def:1.12, win:52.11 }, // Rhm.-Borsig Waffenträger
	7953:  { frag:1.08, dmg:1835.74, spot:0.65, def:0.81, win:50.02 }, // Jagdtiger
	16401: { frag:1.18, dmg:1972.18, spot:0.68, def:0.94, win:50.69 }, // Waffenträger auf Pz. IV
	12049: { frag:1.08, dmg:2166.00, spot:0.68, def:0.53, win:49.08 }, // Jagdpanzer E 100
	16913: { frag:1.47, dmg:2496.73, spot:0.53, def:0.84, win:49.87 }, // Waffenträger auf E 100
	15121: { frag:1.02, dmg:192.52,  spot:0.18, def:1.31, win:57.53 }, // G.Pz. Mk. VI (e)
	2833:  { frag:1.25, dmg:400.31,  spot:0.18, def:1.67, win:57.64 }, // Sturmpanzer I Bison
	5905:  { frag:1.15, dmg:425.16,  spot:0.14, def:1.70, win:53.47 }, // Wespe
	15633: { frag:1.22, dmg:470.38,  spot:0.11, def:1.68, win:55.35 }, // Pz.Sfl. IVb
	4625:  { frag:1.11, dmg:446.05,  spot:0.17, def:1.68, win:54.10 }, // Sturmpanzer II
	5649:  { frag:1.11, dmg:665.17,  spot:0.11, def:1.56, win:52.70 }, // Grille
	273:   { frag:1.05, dmg:1002.20, spot:0.08, def:1.33, win:50.74 }, // Hummel
	8977:  { frag:1.02, dmg:1306.13, spot:0.05, def:1.04, win:50.37 }, // G.W. Panther
	15377: { frag:0.91, dmg:1316.65, spot:0.04, def:0.64, win:50.11 }, // G.W. Tiger (P)
	8721:  { frag:0.93, dmg:1566.33, spot:0.04, def:0.63, win:48.51 }, // G.W. Tiger
	9233:  { frag:0.97, dmg:1844.31, spot:0.04, def:0.62, win:48.11 }, // G.W. E 100
	545:   { frag:1.69, dmg:213.47,  spot:2.18, def:1.28, win:58.77 }, // T1 Cunningham
	1825:  { frag:1.49, dmg:251.35,  spot:2.57, def:1.34, win:59.39 }, // M2 LT
	53537: { frag:1.15, dmg:202.07,  spot:1.76, def:0.95, win:56.92 }, // T1E6
	51489: { frag:1.23, dmg:210.73,  spot:2.67, def:1.10, win:57.42 }, // T2 LT
	55073: { frag:1.24, dmg:182.84,  spot:1.99, def:1.19, win:57.82 }, // T7 Combat Car
	52769: { frag:1.16, dmg:276.63,  spot:2.67, def:1.34, win:57.51 }, // M22 Locust
	289:   { frag:1.08, dmg:252.87,  spot:2.53, def:1.27, win:57.56 }, // M3 Stuart
	52001: { frag:1.08, dmg:252.87,  spot:2.53, def:1.27, win:57.56 }, // MTLS-1G14
	5153:  { frag:0.85, dmg:289.51,  spot:2.62, def:0.98, win:56.83 }, // M5 Stuart
	9761:  { frag:0.65, dmg:492.30,  spot:2.75, def:0.72, win:53.80 }, // M24 Chaffee
	15137: { frag:0.56, dmg:466.70,  spot:2.39, def:0.59, win:52.87 }, // T21
	16673: { frag:0.71, dmg:632.34,  spot:2.30, def:0.86, win:53.22 }, // T37
	17953: { frag:0.82, dmg:874.78,  spot:2.57, def:0.82, win:52.94 }, // M41 Walker Bulldog
	15649: { frag:0.67, dmg:712.99,  spot:2.60, def:0.64, win:52.48 }, // T71
	18209: { frag:0.62, dmg:921.84,  spot:1.92, def:0.59, win:51.24 }, // T49
	5665:  { frag:1.53, dmg:260.74,  spot:1.75, def:1.27, win:59.88 }, // T2 MT
	4897:  { frag:1.38, dmg:302.83,  spot:1.56, def:1.08, win:57.42 }, // M2 MT
	3105:  { frag:1.00, dmg:344.64,  spot:0.84, def:0.84, win:54.28 }, // M3 Lee
	12577: { frag:1.44, dmg:666.89,  spot:1.55, def:1.04, win:58.15 }, // M4 Improved
	1057:  { frag:1.44, dmg:666.89,  spot:1.55, def:1.04, win:58.15 }, // M4 Sherman
	52257: { frag:1.00, dmg:445.08,  spot:1.54, def:0.90, win:54.41 }, // M4A2E4 Sherman
	5409:  { frag:0.94, dmg:427.81,  spot:2.19, def:0.99, win:55.20 }, // M7
	51745: { frag:1.19, dmg:549.92,  spot:1.46, def:1.19, win:57.24 }, // Ram II
	56097: { frag:1.00, dmg:690.05,  spot:1.54, def:1.00, win:55.03 }, // Fury
	10017: { frag:1.06, dmg:745.05,  spot:1.22, def:1.10, win:54.30 }, // M4A3E2 Sherman Jumbo
	1313:  { frag:1.00, dmg:690.05,  spot:1.54, def:1.00, win:55.03 }, // M4A3E8 Sherman
	1569:  { frag:0.95, dmg:958.11,  spot:1.74, def:1.03, win:54.31 }, // T20
	11809: { frag:1.10, dmg:902.09,  spot:1.81, def:1.35, win:52.39 }, // T23E3
	5921:  { frag:0.86, dmg:1118.55, spot:1.58, def:0.99, win:51.70 }, // M26 Pershing
	13345: { frag:0.86, dmg:1131.01, spot:1.00, def:0.97, win:51.19 }, // T26E4 SuperPershing
	14625: { frag:1.03, dmg:1272.64, spot:1.32, def:1.08, win:52.22 }, // T69
	53793: { frag:0.86, dmg:1118.55, spot:1.58, def:0.99, win:51.70 }, // T95E2
	8993:  { frag:0.89, dmg:1444.58, spot:1.64, def:0.72, win:50.36 }, // M46 Patton
	15393: { frag:1.12, dmg:1698.56, spot:1.03, def:0.78, win:51.01 }, // T54E1
	14113: { frag:0.88, dmg:1714.31, spot:1.59, def:0.68, win:47.79 }, // M48A1 Patton
	15905: { frag:0.79, dmg:1651.72, spot:1.48, def:0.72, win:46.45 }, // M60
	55841: { frag:0.79, dmg:1651.72, spot:1.48, def:0.72, win:46.45 }, // T95E6
	3361:  { frag:1.24, dmg:638.89,  spot:1.21, def:1.12, win:55.52 }, // T1 HT
	33:    { frag:1.33, dmg:606.91,  spot:1.54, def:1.21, win:55.78 }, // T14
	801:   { frag:1.04, dmg:829.81,  spot:1.08, def:0.85, win:53.56 }, // M6
	3873:  { frag:1.10, dmg:1233.90, spot:1.15, def:0.98, win:54.89 }, // T29
	52513: { frag:0.85, dmg:1136.19, spot:1.18, def:0.82, win:47.48 }, // M6A2E1
	4385:  { frag:0.92, dmg:1294.05, spot:1.23, def:0.92, win:52.54 }, // T32
	2849:  { frag:0.84, dmg:1298.47, spot:0.83, def:0.71, win:50.60 }, // T34
	9505:  { frag:0.88, dmg:1567.62, spot:1.12, def:0.68, win:50.08 }, // M103
	10785: { frag:0.87, dmg:1813.53, spot:1.21, def:0.73, win:48.63 }, // T110E5
	14881: { frag:1.13, dmg:2157.48, spot:0.84, def:0.75, win:49.56 }, // T57 HT
	6177:  { frag:2.11, dmg:312.85,  spot:1.21, def:1.50, win:58.21 }, // T18
	6433:  { frag:1.50, dmg:364.48,  spot:1.31, def:1.17, win:58.78 }, // T82
	10273: { frag:1.33, dmg:499.46,  spot:1.58, def:1.59, win:58.51 }, // M8A1
	7713:  { frag:1.54, dmg:579.16,  spot:1.28, def:1.54, win:58.95 }, // T40
	6945:  { frag:1.26, dmg:620.69,  spot:1.03, def:1.39, win:55.62 }, // M10 Wolverine
	10529: { frag:1.38, dmg:670.61,  spot:1.76, def:1.51, win:57.52 }, // T67
	11553: { frag:1.20, dmg:902.91,  spot:1.48, def:1.30, win:55.27 }, // M18 Hellcat
	7201:  { frag:1.11, dmg:849.66,  spot:0.94, def:1.17, win:54.82 }, // M36 Jackson
	9249:  { frag:1.07, dmg:1089.15, spot:0.81, def:1.13, win:53.42 }, // T25 AT
	11041: { frag:0.95, dmg:1003.48, spot:1.00, def:1.12, win:52.75 }, // T25/2
	56609: { frag:1.07, dmg:1089.15, spot:0.81, def:1.13, win:53.42 }, // T28 Concept
	56353: { frag:0.98, dmg:1241.29, spot:0.93, def:0.96, win:50.35 }, // M56 Scorpion
	8225:  { frag:1.01, dmg:1390.41, spot:0.52, def:0.93, win:50.77 }, // T28
	11297: { frag:1.04, dmg:1439.56, spot:0.53, def:0.96, win:51.10 }, // T28 Prototype
	2593:  { frag:1.02, dmg:1787.68, spot:0.75, def:0.62, win:50.55 }, // T30
	8737:  { frag:1.09, dmg:1820.48, spot:0.50, def:0.67, win:51.91 }, // T95
	13857: { frag:1.12, dmg:2318.01, spot:0.81, def:0.60, win:51.29 }, // T110E3
	13089: { frag:1.06, dmg:2177.48, spot:0.84, def:0.62, win:49.24 }, // T110E4
	2081:  { frag:1.43, dmg:272.68,  spot:0.36, def:2.01, win:55.72 }, // T57
	3617:  { frag:1.04, dmg:574.73,  spot:0.11, def:1.95, win:51.01 }, // M7 Priest
	4641:  { frag:1.06, dmg:404.02,  spot:0.14, def:1.58, win:53.48 }, // M37
	4129:  { frag:1.09, dmg:1047.08, spot:0.07, def:1.56, win:51.23 }, // M41 HMC
	16417: { frag:1.04, dmg:840.34,  spot:0.08, def:1.39, win:53.08 }, // M44
	7969:  { frag:1.01, dmg:1299.66, spot:0.06, def:1.11, win:50.89 }, // M12
	7457:  { frag:1.05, dmg:1568.70, spot:0.05, def:0.87, win:50.89 }, // M40/M43
	16161: { frag:1.02, dmg:1777.19, spot:0.04, def:0.90, win:51.30 }, // M53/M55
	8481:  { frag:0.95, dmg:1886.27, spot:0.04, def:0.72, win:48.47 }, // T92
	5201:  { frag:1.87, dmg:319.65,  spot:1.57, def:1.59, win:59.85 }, // Cruiser Mk. I
	7761:  { frag:1.85, dmg:314.54,  spot:2.21, def:1.36, win:61.18 }, // Cruiser Mk. III
	54865: { frag:1.43, dmg:210.41,  spot:1.99, def:1.24, win:58.91 }, // Light Mk. VIC
	593:   { frag:1.49, dmg:251.35,  spot:2.57, def:1.34, win:59.39 }, // M2A4
	6993:  { frag:1.39, dmg:305.51,  spot:1.03, def:1.04, win:56.01 }, // Cruiser Mk. II
	7505:  { frag:1.48, dmg:361.38,  spot:1.88, def:1.12, win:60.24 }, // Cruiser Mk. IV
	1361:  { frag:1.08, dmg:252.87,  spot:2.53, def:1.27, win:57.56 }, // Stuart I-IV
	6481:  { frag:1.04, dmg:369.65,  spot:1.87, def:1.05, win:56.99 }, // Covenanter
	4945:  { frag:0.86, dmg:333.95,  spot:0.86, def:1.22, win:54.69 }, // Valentine
	2129:  { frag:0.98, dmg:456.88,  spot:1.76, def:1.10, win:54.74 }, // Crusader
	81:    { frag:1.88, dmg:240.35,  spot:1.17, def:1.17, win:58.74 }, // Vickers Medium Mk. I
	337:   { frag:1.64, dmg:274.36,  spot:1.04, def:1.35, win:58.00 }, // Vickers Medium Mk. II
	2385:  { frag:1.19, dmg:300.59,  spot:1.07, def:1.05, win:56.53 }, // Vickers Medium Mk. III
	1617:  { frag:1.00, dmg:344.64,  spot:0.84, def:0.84, win:54.28 }, // Grant
	849:   { frag:1.33, dmg:502.84,  spot:0.88, def:1.61, win:58.01 }, // Matilda
	53585: { frag:1.24, dmg:574.64,  spot:0.83, def:1.49, win:55.41 }, // Matilda Black Prince
	12881: { frag:1.44, dmg:666.89,  spot:1.55, def:1.04, win:58.15 }, // Sherman III
	1105:  { frag:1.04, dmg:711.06,  spot:2.06, def:0.95, win:55.05 }, // Cromwell
	3665:  { frag:0.95, dmg:806.35,  spot:0.91, def:0.79, win:52.33 }, // Sherman Firefly
	5457:  { frag:1.01, dmg:929.79,  spot:1.77, def:1.06, win:53.33 }, // Comet
	5969:  { frag:0.82, dmg:1147.96, spot:1.31, def:0.91, win:52.68 }, // Centurion Mk. I
	55633: { frag:0.82, dmg:1147.96, spot:1.31, def:0.91, win:52.68 }, // FV4202 (P)
	5713:  { frag:0.91, dmg:1588.38, spot:1.28, def:0.85, win:50.84 }, // Centurion Mk. 7/1
	7249:  { frag:0.96, dmg:1886.82, spot:1.39, def:0.80, win:48.31 }, // FV4202
	2897:  { frag:1.17, dmg:630.42,  spot:0.91, def:1.20, win:54.92 }, // Churchill I
	54353: { frag:1.43, dmg:661.43,  spot:1.61, def:1.31, win:57.56 }, // Excelsior
	4689:  { frag:0.99, dmg:756.40,  spot:0.78, def:1.06, win:53.16 }, // Churchill VII
	53841: { frag:1.16, dmg:863.71,  spot:0.62, def:1.24, win:52.60 }, // TOG II*
	3153:  { frag:0.94, dmg:1011.85, spot:0.88, def:1.10, win:54.08 }, // Black Prince
	3921:  { frag:0.81, dmg:1213.79, spot:1.11, def:0.93, win:51.58 }, // Caernarvon
	4433:  { frag:0.87, dmg:1610.79, spot:1.04, def:0.69, win:50.07 }, // Conqueror
	6225:  { frag:0.91, dmg:1901.63, spot:1.10, def:0.66, win:48.36 }, // FV215b
	8273:  { frag:1.78, dmg:291.66,  spot:1.44, def:1.52, win:59.20 }, // Universal Carrier 2-pdr
	8017:  { frag:1.63, dmg:387.60,  spot:0.90, def:1.66, win:58.80 }, // Valentine AT
	9041:  { frag:1.32, dmg:475.48,  spot:1.46, def:1.59, win:57.50 }, // Alecto
	13393: { frag:1.26, dmg:620.69,  spot:1.03, def:1.39, win:55.62 }, // Archer
	8785:  { frag:1.19, dmg:579.58,  spot:0.81, def:1.56, win:57.32 }, // AT 2
	14417: { frag:1.11, dmg:849.66,  spot:0.94, def:1.17, win:54.82 }, // Achilles
	9553:  { frag:1.12, dmg:823.44,  spot:0.70, def:1.41, win:56.13 }, // AT 8
	9809:  { frag:0.90, dmg:703.56,  spot:0.42, def:1.03, win:52.42 }, // Churchill Gun Carrier
	54097: { frag:0.93, dmg:970.33,  spot:0.71, def:1.21, win:51.99 }, // AT 15A
	10065: { frag:1.18, dmg:1241.60, spot:0.70, def:1.30, win:56.42 }, // AT 7
	14161: { frag:0.95, dmg:1003.48, spot:1.00, def:1.12, win:52.75 }, // Challenger
	8529:  { frag:1.06, dmg:1443.76, spot:0.66, def:1.19, win:52.50 }, // AT 15
	14673: { frag:1.09, dmg:1488.75, spot:0.62, def:0.94, win:50.72 }, // Charioteer
	13137: { frag:0.87, dmg:1610.79, spot:1.04, def:0.69, win:50.07 }, // Conway
	52561: { frag:1.08, dmg:1820.73, spot:0.63, def:0.87, win:51.56 }, // Tortoise
	9297:  { frag:1.25, dmg:2329.98, spot:0.59, def:0.57, win:48.77 }, // FV215b (183)
	13905: { frag:1.25, dmg:2329.98, spot:0.59, def:0.57, win:48.77 }, // FV4005
	10577: { frag:1.41, dmg:195.95,  spot:0.26, def:1.32, win:56.18 }, // Loyd Gun Carriage
	54609: { frag:1.12, dmg:279.39,  spot:0.13, def:1.61, win:53.94 }, // Sexton I
	3409:  { frag:0.96, dmg:239.84,  spot:0.12, def:1.37, win:53.78 }, // Sexton II
	10833: { frag:1.00, dmg:361.14,  spot:0.10, def:1.88, win:53.40 }, // Birch Gun
	11089: { frag:1.22, dmg:647.73,  spot:0.11, def:1.70, win:55.25 }, // Bishop
	11857: { frag:1.14, dmg:853.36,  spot:0.16, def:2.15, win:54.53 }, // FV304
	11345: { frag:0.92, dmg:993.36,  spot:0.07, def:1.66, win:51.29 }, // Crusader 5.5-in. SP
	12113: { frag:0.93, dmg:1306.53, spot:0.03, def:0.86, win:50.24 }, // FV207
	11601: { frag:0.99, dmg:1703.97, spot:0.03, def:0.77, win:50.38 }, // FV3805
	12369: { frag:1.02, dmg:2244.39, spot:0.03, def:0.97, win:51.69 }, // Conqueror Gun Carriage
	577:   { frag:1.72, dmg:219.80,  spot:1.37, def:1.50, win:59.45 }, // Renault FT
	1601:  { frag:1.43, dmg:236.13,  spot:1.16, def:1.85, win:55.79 }, // D1
	1345:  { frag:1.46, dmg:240.71,  spot:1.38, def:1.81, win:58.89 }, // Hotchkiss H35
	5953:  { frag:0.99, dmg:219.46,  spot:0.95, def:1.60, win:55.63 }, // AMX 38
	2881:  { frag:0.71, dmg:239.62,  spot:0.86, def:0.91, win:52.49 }, // AMX 40
	14145: { frag:0.66, dmg:462.17,  spot:2.61, def:0.75, win:53.93 }, // ELC AMX
	6465:  { frag:0.59, dmg:493.20,  spot:2.02, def:0.57, win:51.92 }, // AMX 12 t
	63809: { frag:0.60, dmg:586.53,  spot:2.09, def:0.60, win:52.04 }, // AMX 13 57
	5185:  { frag:0.60, dmg:586.53,  spot:2.09, def:0.60, win:52.04 }, // AMX 13 75
	4929:  { frag:0.70, dmg:836.95,  spot:2.45, def:0.65, win:51.76 }, // AMX 13 90
	321:   { frag:1.29, dmg:300.60,  spot:0.92, def:1.46, win:57.94 }, // D2
	63553: { frag:0.93, dmg:1120.00, spot:1.51, def:1.07, win:50.04 }, // AMX Chasseur de chars
	5697:  { frag:0.96, dmg:1407.12, spot:1.35, def:0.79, win:49.42 }, // Lorraine 40 t
	3649:  { frag:1.12, dmg:1821.23, spot:2.04, def:0.87, win:49.04 }, // Bat.-Châtillon 25 t
	1089:  { frag:1.04, dmg:335.58,  spot:1.11, def:1.19, win:52.91 }, // B1
	6721:  { frag:1.22, dmg:648.05,  spot:0.88, def:0.99, win:54.31 }, // BDR G1 B
	2625:  { frag:0.95, dmg:806.35,  spot:0.91, def:0.79, win:52.33 }, // ARL 44
	6977:  { frag:0.88, dmg:1024.94, spot:0.94, def:0.92, win:51.70 }, // AMX M4 mle. 45
	3137:  { frag:1.10, dmg:1405.35, spot:0.92, def:1.02, win:51.27 }, // AMX 50 100
	64065: { frag:0.93, dmg:1244.66, spot:1.51, def:1.07, win:50.04 }, // FCM 50 t
	3905:  { frag:1.02, dmg:1667.38, spot:0.87, def:0.80, win:49.45 }, // AMX 50 120
	6209:  { frag:1.05, dmg:1980.08, spot:0.95, def:0.82, win:48.19 }, // AMX 50 B
	7745:  { frag:2.03, dmg:331.49,  spot:0.94, def:1.93, win:59.36 }, // Renault FT AC
	2369:  { frag:1.86, dmg:450.04,  spot:1.08, def:1.77, win:60.06 }, // FCM 36 Pak 40
	8257:  { frag:1.49, dmg:375.37,  spot:1.11, def:1.80, win:58.75 }, // Renault UE 57
	9793:  { frag:1.18, dmg:399.26,  spot:0.57, def:0.98, win:54.53 }, // Somua SAu 40
	10049: { frag:1.39, dmg:697.03,  spot:0.92, def:1.42, win:55.13 }, // S35 CA
	11585: { frag:0.95, dmg:731.25,  spot:0.65, def:1.00, win:50.75 }, // ARL V39
	10817: { frag:0.90, dmg:989.07,  spot:0.68, def:1.01, win:51.48 }, // AMX AC mle. 46
	12097: { frag:0.96, dmg:1315.14, spot:0.79, def:0.95, win:50.00 }, // AMX AC mle. 48
	11073: { frag:0.99, dmg:1650.32, spot:0.97, def:0.87, win:50.07 }, // AMX 50 Foch
	13889: { frag:1.27, dmg:2346.05, spot:0.92, def:0.76, win:49.73 }, // AMX 50 Foch (155)
	833:   { frag:1.41, dmg:247.23,  spot:0.15, def:2.18, win:55.88 }, // Renault FT 75 BS
	3393:  { frag:1.36, dmg:491.42,  spot:0.15, def:2.05, win:54.84 }, // Lorraine 39L AM
	14657: { frag:1.09, dmg:427.29,  spot:0.12, def:1.58, win:54.04 }, // AMX 105 AM mle. 47
	2113:  { frag:1.40, dmg:703.54,  spot:0.10, def:1.88, win:54.89 }, // 105 leFH18B2
	4161:  { frag:1.18, dmg:649.76,  spot:0.10, def:2.30, win:52.34 }, // AMX 13 105 AM mle. 50
	4673:  { frag:1.12, dmg:1061.24, spot:0.08, def:1.69, win:52.13 }, // AMX 13 F3 AM
	7233:  { frag:0.95, dmg:1266.11, spot:0.06, def:1.36, win:50.45 }, // Lorraine 155 mle. 50
	7489:  { frag:0.98, dmg:1443.84, spot:0.06, def:1.14, win:50.11 }, // Lorraine 155 mle. 51
	14401: { frag:0.95, dmg:1598.09, spot:0.05, def:1.04, win:49.62 }, // Bat.-Châtillon 155 55
	11841: { frag:1.12, dmg:1887.05, spot:0.07, def:1.25, win:48.81 }, // Bat.-Châtillon 155 58
	1329:  { frag:1.92, dmg:252.45,  spot:1.49, def:1.66, win:57.82 }, // Renault NC-31
	2353:  { frag:1.70, dmg:280.61,  spot:1.52, def:1.41, win:59.70 }, // Vickers Mk. E Type B
	4401:  { frag:1.48, dmg:365.03,  spot:1.36, def:1.37, win:59.50 }, // Type 2597 Chi-Ha
	3121:  { frag:0.95, dmg:346.57,  spot:2.40, def:1.05, win:55.71 }, // M5A1 Stuart
	4913:  { frag:0.53, dmg:383.93,  spot:2.71, def:0.51, win:52.00 }, // 59-16
	305:   { frag:0.58, dmg:616.27,  spot:2.35, def:0.67, win:50.46 }, // Type 62
	64817: { frag:0.62, dmg:528.91,  spot:2.67, def:0.74, win:51.69 }, // Type 64
	3377:  { frag:0.59, dmg:645.60,  spot:2.56, def:0.58, win:52.08 }, // WZ-131
	3889:  { frag:0.55, dmg:731.77,  spot:2.74, def:0.58, win:50.72 }, // WZ-132
	4657:  { frag:1.10, dmg:511.81,  spot:1.49, def:1.09, win:53.93 }, // Type T-34
	5169:  { frag:1.00, dmg:701.37,  spot:1.60, def:0.97, win:53.07 }, // Type 58
	1073:  { frag:0.97, dmg:967.93,  spot:1.57, def:0.97, win:54.07 }, // T-34-1
	1585:  { frag:0.82, dmg:1035.29, spot:1.66, def:0.88, win:50.43 }, // T-34-2
	64049: { frag:0.89, dmg:1112.93, spot:1.50, def:0.75, win:49.60 }, // T-34-3
	49:    { frag:0.88, dmg:1056.54, spot:1.70, def:0.91, win:50.94 }, // Type 59
	561:   { frag:0.88, dmg:1056.54, spot:1.70, def:0.91, win:50.94 }, // Type 59 G
	1841:  { frag:0.90, dmg:1453.89, spot:1.51, def:0.69, win:50.42 }, // WZ-120
	4145:  { frag:0.93, dmg:1787.87, spot:1.41, def:0.68, win:48.20 }, // 121
	3633:  { frag:1.06, dmg:1134.25, spot:1.13, def:0.83, win:54.18 }, // IS-2
	2865:  { frag:0.91, dmg:1304.61, spot:1.15, def:0.80, win:52.40 }, // 110
	64561: { frag:0.94, dmg:1278.38, spot:1.35, def:0.75, win:52.25 }, // 112
	817:   { frag:1.11, dmg:1431.77, spot:1.19, def:0.83, win:53.64 }, // WZ-111
	2097:  { frag:0.92, dmg:1657.16, spot:1.29, def:0.63, win:51.35 }, // WZ-111 model 1-4
	5425:  { frag:0.84, dmg:1771.13, spot:1.31, def:0.63, win:47.91 }, // 113
	609:   { frag:1.75, dmg:217.76,  spot:1.31, def:1.88, win:58.33 }, // Renault Otsu
	865:   { frag:1.64, dmg:279.18,  spot:1.71, def:1.26, win:58.94 }, // Type 95 Ha-Go
	3169:  { frag:1.51, dmg:265.35,  spot:1.54, def:1.80, win:58.65 }, // Type 97 Te-Ke
	2401:  { frag:1.36, dmg:332.40,  spot:1.80, def:1.35, win:59.48 }, // Type 98 Ke-Ni
	51809: { frag:1.36, dmg:332.40,  spot:1.80, def:1.35, win:59.48 }, // Type 98 Ke-Ni Otsu
	2913:  { frag:1.19, dmg:425.95,  spot:1.84, def:1.32, win:57.71 }, // Type 5 Ke-Ho
	353:   { frag:1.51, dmg:249.89,  spot:1.42, def:1.29, win:58.96 }, // Chi-Ni
	2145:  { frag:1.48, dmg:362.98,  spot:1.31, def:1.33, win:58.57 }, // Type 97 Chi-Ha
	1633:  { frag:1.07, dmg:398.04,  spot:1.27, def:1.09, win:55.72 }, // Type 1 Chi-He
	1377:  { frag:1.00, dmg:512.14,  spot:1.23, def:1.06, win:54.07 }, // Type 3 Chi-Nu
	51553: { frag:1.06, dmg:550.49,  spot:1.08, def:1.19, win:53.90 }, // Type 3 Chi-Nu Kai
	1889:  { frag:1.03, dmg:761.32,  spot:1.12, def:1.09, win:52.19 }, // Type 4 Chi-To
	1121:  { frag:0.95, dmg:950.98,  spot:1.05, def:1.07, win:51.43 }, // Type 5 Chi-Ri
	2657:  { frag:0.89, dmg:1196.34, spot:1.34, def:1.05, win:51.48 }, // STA-1
	52065: { frag:0.89, dmg:1196.34, spot:1.34, def:1.05, win:51.48 }, // STA-2
	3425:  { frag:0.96, dmg:1625.42, spot:1.31, def:0.82, win:50.60 }, // Type 61
	3681:  { frag:1.04, dmg:1968.87, spot:1.58, def:0.83, win:49.75 }  // STB-1
};

// create global post variable
var postObj = {
	cls: document.querySelectorAll(".post_wrap, .post_wrap__wg"),
	ids: [],
	num: []
},
s = {},
id, users, index;

// fetch userids and store all posts into one obj for later use
for (var t=0; t<postObj.cls.length; t++) {
	id = postObj.cls[t].getElementsByClassName("ipsUserPhotoLink")[0].getAttribute('href').match(/\-(\d+)\//)[1];
	if (!isNaN(id)) {
		s[id] = {u:{},v:{frag:0,dmg:0,spot:0,def:0,win:0},wn8:""};
		users = postObj.ids.length;
		index = postObj.ids.indexOf(id);
		if (index>-1) {
			postObj.num[index][postObj.num[index].length] = t;
		}
		else {
			postObj.ids[users] = id;
			postObj.num[users] = [];
			postObj.num[users][0] = t;
		}
	}
}


// request and retrieve statistics from API
if (postObj.ids.length > 0) {
	sc.api.i = "http://api.worldoftanks."+sc.srv+"/wot/account/info/?application_id="+sc.api[sc.srv]+"&account_id="+postObj.ids.join(',');
	sc.api.v = "http://api.worldoftanks."+sc.srv+"/wot/account/tanks/?application_id="+sc.api[sc.srv]+"&account_id="+postObj.ids.join(',');
	reqHnd(sc.api.i, apiInfoHnd);
}

// processing information from player API
function apiInfoHnd(resp) {
	for (var a in resp.data) {
		if (resp.data.hasOwnProperty(a)) {
			// store stats
			s[resp.data[a].account_id].u = {
				name: resp.data[a].nickname,
				id: resp.data[a].account_id,
				cid: resp.data[a].clan_id,
				bat: resp.data[a].statistics.all.battles,
				win: (resp.data[a].statistics.all.wins/resp.data[a].statistics.all.battles)*100,
				dmg: resp.data[a].statistics.all.damage_dealt/resp.data[a].statistics.all.battles,
				frag: resp.data[a].statistics.all.frags/resp.data[a].statistics.all.battles,
				spot: resp.data[a].statistics.all.spotted/resp.data[a].statistics.all.battles,
				def: resp.data[a].statistics.all.dropped_capture_points/resp.data[a].statistics.all.battles,
				wgr: resp.data[a].global_rating,
				lng: resp.data[a].client_language
			};
		}
	}
	reqHnd(sc.api.v, apiVehHnd);
}

// processing information from vehicle API and calculate WN8
function apiVehHnd(resp) {
	for (var p in resp.data) {
		if (resp.data.hasOwnProperty(p)) {
			var rWin, rDmg, rFrag, rSpot, rDef;
			if (s[p].u.bat > 0) {
				for (var v in resp.data[p]) {
					if (resp.data[p].hasOwnProperty(v)) {
						s[p].v.frag += statObj[resp.data[p][v].tank_id].frag*resp.data[p][v].statistics.battles;
						s[p].v.dmg  += statObj[resp.data[p][v].tank_id].dmg *resp.data[p][v].statistics.battles;
						s[p].v.spot += statObj[resp.data[p][v].tank_id].spot*resp.data[p][v].statistics.battles;
						s[p].v.def  += statObj[resp.data[p][v].tank_id].def *resp.data[p][v].statistics.battles;
						s[p].v.win  += statObj[resp.data[p][v].tank_id].win *resp.data[p][v].statistics.battles;
					}
				}
				rWin  = Math.max(((s[p].u.win /(s[p].v.win /s[p].u.bat)-0.71)/(1-0.71)),0);
				rDmg  = Math.max(((s[p].u.dmg /(s[p].v.dmg /s[p].u.bat)-0.22)/(1-0.22)),0);
				rFrag = Math.max(Math.min(rDmg+0.2,((s[p].u.frag/(s[p].v.frag/s[p].u.bat)-0.12)/(1-0.12))),0);
				rSpot = Math.max(Math.min(rDmg+0.1,((s[p].u.spot/(s[p].v.spot/s[p].u.bat)-0.38)/(1-0.38))),0);
				rDef  = Math.max(Math.min(rDmg+0.1,((s[p].u.def /(s[p].v.def /s[p].u.bat)-0.10)/(1-0.10))),0);
				s[p].wn8 = colStat(980*rDmg + 210*rDmg*rFrag + 155*rFrag*rSpot + 75*rDef*rFrag + 145*Math.min(1.8,rWin),"wn8",0);
			}
			else {
				s[p].wn8 = colStat(0,"wn8",0);
			}
		}
	}
	statInsert();
}

// insert stats and links to every post
function statInsert() {
	for (var y in s) {
		if (s.hasOwnProperty(y)) {
			var iPost = postObj.ids.indexOf(y),
			userStats = [
				"<td>"+loc.f01+"</td><td>"+colStat((s[y].u.bat > 0) ? s[y].u.win : 0,"wr",2,"%")+"</td>",
				"<td>"+loc.f02+"</td><td>"+colStat(s[y].u.bat,"bat",0,"")+"</td>",
				"<td>"+loc.f03+"</td><td>"+colStat(s[y].u.wgr,"pr",0,"")+"</td>",
				"<td>"+loc.f04+"</td><td>"+s[y].wn8+"</td>"
			],
			userLinks = [
				[
					["<a target='_blank' href='http://worldoftanks."+sc.srv+"/community/accounts/named/"+s[y].u.name+"'>Player Profile</a>"],
					[srv.ws, "<a target='_blank' href='http://wotstats.org/stats/"+srv.ws+"/"+s[y].u.name+"/'>WoTstats</a>"]
				],
				[
					[srv.wl, "<a target='_blank' href='http://wotlabs.net/"+srv.wl+"/player/"+s[y].u.name+"'>WoTLabs</a>"],
					[srv.cs, "<a target='_blank' href='http://wotcs.com/player.php?wid="+s[y].u.id+"'>WoT-CS</a>"]
				],
				[
					[srv.nm, "<a target='_blank' href='http://noobmeter.com/player/"+srv.nm+"/"+s[y].u.name+"'>Noobmeter</a>"],
					[srv.wr, "<a target='_blank' href='http://wotreplays."+srv.wr+"/player/"+s[y].u.name+"'>WoTReplays</a>"]
				],
				[
					[srv.wn, "<a target='_blank' href='http://wot-news.com/stat/pstat/"+srv.wn+"/"+s[y].u.name+"/'>Wot-news</a>"],
					(sc.srv=="ru") ? [srv.wr, "<a target='_blank' href='http://wots.com.ua/user/stats/"+s[y].u.name+"'>WoTS.com.ua</a>"] : [srv.wlife, "<a target='_blank' href='http://en.wot-life.com/"+srv.wlife+"/player/"+s[y].u.name+"/'>WoT-Life</a>"]
				]
			];
			if (iPost >- 1) {
				for (var i=0; i<postObj.num[iPost].length; i++) {
					var groupTitle = postObj.cls[postObj.num[iPost][i]].getElementsByClassName("group_title")[0],
						basicInfo = postObj.cls[postObj.num[iPost][i]].getElementsByClassName("basic_info")[0],
						infoClass = postObj.cls[postObj.num[iPost][i]].getElementsByClassName("author_info")[0],
						statTable = elem("table", "t-table-stats", ""),
						urlTable = elem("table", "t-tables-links", "<tbody></tbody>"),
						flag = elem("img", "i-xvm-lang", "", "", "https://bytebucket.org/seriych/worldoftanksforumextendedstat.user.js/raw/tip/data/img/lang/"+s[y].u.lng+".png");
						flag.title = s[y].u.lng.toUpperCase()+" "+loc.f00;
					for (var sr=0; sr<userStats.length; ++sr) {
						statTable.appendChild(elem("tr", "", userStats[sr]));
					}
					for (var l=0; l<userLinks.length; ++l) {
						var uRow = elem("tr", "", "");
						for (var lr=0; lr<userLinks[l].length; ++lr) {
							uRow.appendChild(userLinks[l][lr][0] && userLinks[l][lr][1] ? elem("td", "", userLinks[l][lr][1]) : elem("td", "", userLinks[l][lr][0]));
						}
						urlTable.firstElementChild.appendChild(uRow);
					}
					if (sc.srv !== "ru") {
						groupTitle.appendChild(flag);
					}
					basicInfo.insertBefore(statTable, basicInfo.lastElementChild);
					infoClass.appendChild(urlTable);
				}
			}
		}
	}
}

// request handler
function reqHnd(url, handler) {
	GM_xmlhttpRequest({
		method: "GET",
		url: url,
		onload: function(resp) {
			handler(JSON.parse(resp.responseText));
		}
	});
}

// colouring
function colStat(input, type, dec, sym) {
var color = colArr.dft[0],
	output = input.toFixed(dec);
	if (sym) {
		output += sym;
	}
	if (input >= 1000) {
		output = input.toFixed(dec).toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1"+sc.sym);
	}
	for (var c in colArr) {
		if (colArr.hasOwnProperty(c)) {
			if (input >= colArr[c][colArr.id[type]]) {
				color = colArr[c][0]; break;
			}
		}
	}
	return "<font color='"+color+"'>"+output+"</font>";
}

// quick creation of element
function elem(tag, name, html, type, src) {
var element = document.createElement(tag);
	if (name) {element.className = name;}
	if (html) {element.innerHTML = html;}
	if (type) {element.type = type;}
	if (src) {element.src = src;}
	return element;
}

}());