• Welcome to the Kancolle Wiki!
  • If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord

Difference between revisions of "Module:EquipmentData"

From Kancolle Wiki
Jump to navigation Jump to search
com>Ckwng
com>Ckwng
Line 909: Line 909:
 
function EquipmentData:reading()
 
function EquipmentData:reading()
 
return self._reading
 
return self._reading
 +
end
 +
 +
function EquipmentData:list_name()
 +
return self._list_name
 +
end
 +
 +
function EquipmentData:list_japanese_name()
 +
return self._list_japanese_name
 +
end
 +
 +
function EquipmentData:list_localized_name()
 +
return self._list_localized_name
 +
end
 +
 +
function EquipmentData:list_reading()
 +
return self._list_reading
 +
end
 +
 +
function EquipmentData:comparison_name()
 +
return self._comparison_name
 +
end
 +
 +
function EquipmentData:comparison_japanese_name()
 +
return self._comparison_japanese_name
 +
end
 +
 +
function EquipmentData:comparison_localized_name()
 +
return self._comparison_localized_name
 +
end
 +
 +
function EquipmentData:comparison_reading()
 +
return self._comparison_reading
 +
end
 +
 +
function EquipmentData:library_name()
 +
return self._library_name
 +
end
 +
 +
function EquipmentData:library_japanese_name()
 +
return self._library_japanese_name
 +
end
 +
 +
function EquipmentData:library_localized_name()
 +
return self._library_localized_name
 +
end
 +
 +
function EquipmentData:library_reading()
 +
return self._library_reading
 
end
 
end
  

Revision as of 21:10, 3 April 2015

Documentation for this module may be created at Module:EquipmentData/doc

local BaseData = require("Module:BaseData")
local EquipmentData = BaseData({
	_equipment_compatibility = {
		[1] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 0,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 0,
			[13] = 0,
			[14] = 0,
			[15] = 0,
			[16] = 0,
			[17] = 0,
			[18] = 0,
			[19] = 0,
			[20] = 0,
			[21] = 0,
			[22] = 0,
			[23] = 0,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 0,
			[35] = 0,
			[36] = 0,
			[37] = 0,
			[38] = 0,
			[39] = 0,
			[40] = 0,
		},
		[2] = {
			[1] = 1,
			[2] = 0,
			[3] = 0,
			[4] = 0,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 1,
			[13] = 0,
			[14] = 1,
			[15] = 1,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 1,
			[30] = 1,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 0,
			[35] = 0,
			[36] = 1,
			[37] = 1,
			[38] = 0,
			[39] = 1,
			[40] = 0,
		},
		[3] = {
			[1] = 1,
			[2] = 1,
			[3] = 0,
			[4] = 1,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 1,
			[15] = 1,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 1,
			[30] = 1,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 1,
			[38] = 0,
			[39] = 1,
			[40] = 0,
		},
		[4] = {
			[1] = 1,
			[2] = 1,
			[3] = 0,
			[4] = 1,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 1,
			[15] = 1,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 1,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 1,
			[40] = 0,
		},
		[5] = {
			[1] = 0,
			[2] = 1,
			[3] = 0,
			[4] = 1,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 1,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 1,
			[28] = 0,
			[29] = 1,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 1,
			[40] = 1,
		},
		[6] = {
			[1] = 0,
			[2] = 1,
			[3] = 0,
			[4] = 1,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 1,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 1,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 1,
			[26] = 0,
			[27] = 1,
			[28] = 0,
			[29] = 1,
			[30] = 1,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 1,
			[36] = 1,
			[37] = 1,
			[38] = 0,
			[39] = 1,
			[40] = 1,
		},
		[7] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 1,
			[5] = 0,
			[6] = 1,
			[7] = 1,
			[8] = 1,
			[9] = 1,
			[10] = 0,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 1,
			[26] = 1,
			[27] = 1,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 1,
			[35] = 1,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 0,
			[40] = 1,
		},
		[8] = {
			[1] = 0,
			[2] = 0,
			[3] = 1,
			[4] = 1,
			[5] = {value = 2, note = "Bismarck drei only", code = "Bismarck Drei"},
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 1,
			[19] = 1,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 1,
			[29] = 1,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 1,
			[40] = 1,
		},
		[9] = {
			[1] = 0,
			[2] = 1,
			[3] = 1,
			[4] = 1,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 1,
			[19] = 1,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 1,
			[29] = 1,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 0,
			[38] = {value = 2, note = "Yamato-class or remodelled Nagato-class only", code = "Yamato-class, remodelled Nagato-class"},
			[39] = 1,
			[40] = 1,
		},
		[10] = {
			[1] = 0,
			[2] = 1,
			[3] = 1,
			[4] = 1,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 1,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 1,
			[19] = 1,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 1,
			[26] = 0,
			[27] = 0,
			[28] = 1,
			[29] = 1,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 1,
			[36] = 1,
			[37] = 1,
			[38] = 0,
			[39] = 1,
			[40] = 1,
		},
		[11] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 1,
			[5] = 0,
			[6] = 1,
			[7] = 1,
			[8] = 1,
			[9] = 1,
			[10] = 0,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 1,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 1,
			[35] = 1,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 0,
			[40] = 1,
		},
		[12] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 0,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 0,
			[13] = 0,
			[14] = 0,
			[15] = 0,
			[16] = 0,
			[17] = 0,
			[18] = 0,
			[19] = 0,
			[20] = 0,
			[21] = 0,
			[22] = 0,
			[23] = 0,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 0,
			[35] = 0,
			[36] = 0,
			[37] = 0,
			[38] = 0,
			[39] = 0,
			[40] = 0,
		},
		[13] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 0,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 0,
			[13] = 0,
			[14] = 1,
			[15] = 0,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 0,
			[21] = 0,
			[22] = 1,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 1,
			[33] = 0,
			[34] = 0,
			[35] = 0,
			[36] = 0,
			[37] = 1,
			[38] = 0,
			[39] = 0,
			[40] = 0,
		},
		[14] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 0,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 1,
			[12] = 0,
			[13] = 0,
			[14] = 1,
			[15] = 0,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 0,
			[21] = 0,
			[22] = 1,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 1,
			[33] = 0,
			[34] = 0,
			[35] = 0,
			[36] = 0,
			[37] = 1,
			[38] = 0,
			[39] = 0,
			[40] = 0,
		},
		[15] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 0,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 0,
			[13] = 0,
			[14] = 0,
			[15] = 0,
			[16] = 0,
			[17] = 0,
			[18] = 0,
			[19] = 0,
			[20] = 0,
			[21] = 0,
			[22] = 0,
			[23] = 0,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 0,
			[35] = 0,
			[36] = 0,
			[37] = 0,
			[38] = 0,
			[39] = 0,
			[40] = 0,
		},
		[16] = {
			[1] = 1,
			[2] = 0,
			[3] = 0,
			[4] = 1,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 1,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 1,
			[16] = 1,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 1,
			[23] = 1,
			[24] = 1,
			[25] = 0,
			[26] = 0,
			[27] = 1,
			[28] = 0,
			[29] = 1,
			[30] = 1,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 1,
			[38] = 0,
			[39] = 1,
			[40] = 1,
		},
		[17] = {
			[1] = 1,
			[2] = 0,
			[3] = 0,
			[4] = 1,
			[5] = 0,
			[6] = 1,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 1,
			[13] = 0,
			[14] = 0,
			[15] = 0,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 1,
			[25] = 1,
			[26] = 1,
			[27] = 0,
			[28] = 0,
			[29] = 0,
			[30] = 1,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 1,
			[38] = 0,
			[39] = 0,
			[40] = 1,
		},
		[18] = {
			[1] = 0,
			[2] = 0,
			[3] = 0,
			[4] = 1,
			[5] = 0,
			[6] = 1,
			[7] = 1,
			[8] = 1,
			[9] = 1,
			[10] = 0,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 0,
			[15] = 0,
			[16] = 1,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 0,
			[28] = 1,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 1,
			[35] = 1,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 0,
			[40] = 1,
		},
		[19] = {
			[1] = 1,
			[2] = 0,
			[3] = 0,
			[4] = 1,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 0,
			[11] = 0,
			[12] = 1,
			[13] = 0,
			[14] = 0,
			[15] = 0,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 1,
			[26] = 0,
			[27] = 1,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 1,
			[32] = 0,
			[33] = 1,
			[34] = 0,
			[35] = 0,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 0,
			[40] = 0,
		},
		[20] = {
			[1] = 1,
			[2] = 0,
			[3] = 0,
			[4] = 1,
			[5] = 0,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 0,
			[12] = 1,
			[13] = 0,
			[14] = 0,
			[15] = 0,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 1,
			[26] = 0,
			[27] = 1,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 1,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 1,
			[38] = 0,
			[39] = 1,
			[40] = 1,
		},
		[21] = {
			[1] = 1,
			[2] = 1,
			[3] = 0,
			[4] = 1,
			[5] = 1,
			[6] = 0,
			[7] = 0,
			[8] = 0,
			[9] = 0,
			[10] = 1,
			[11] = 0,
			[12] = 1,
			[13] = 1,
			[14] = 1,
			[15] = 1,
			[16] = 0,
			[17] = 1,
			[18] = 0,
			[19] = 0,
			[20] = 1,
			[21] = 1,
			[22] = 0,
			[23] = 1,
			[24] = 0,
			[25] = 0,
			[26] = 0,
			[27] = 1,
			[28] = 0,
			[29] = 0,
			[30] = 0,
			[31] = 0,
			[32] = 0,
			[33] = 0,
			[34] = 1,
			[35] = 0,
			[36] = 1,
			[37] = 0,
			[38] = 0,
			[39] = 1,
			[40] = 0,
		},
	}
})

function EquipmentData:name()
	return self._name
end

function EquipmentData:link()
	if self._page then
		return self._page, self:name()
	else
		return self:name()
	end
end

function EquipmentData:id()
	return self._id
end

function EquipmentData:localized_name()
	return self._localized_name
end

function EquipmentData:reading()
	return self._reading
end

function EquipmentData:list_name()
	return self._list_name
end

function EquipmentData:list_japanese_name()
	return self._list_japanese_name
end

function EquipmentData:list_localized_name()
	return self._list_localized_name
end

function EquipmentData:list_reading()
	return self._list_reading
end

function EquipmentData:comparison_name()
	return self._comparison_name
end

function EquipmentData:comparison_japanese_name()
	return self._comparison_japanese_name
end

function EquipmentData:comparison_localized_name()
	return self._comparison_localized_name
end

function EquipmentData:comparison_reading()
	return self._comparison_reading
end

function EquipmentData:library_name()
	return self._library_name
end

function EquipmentData:library_japanese_name()
	return self._library_japanese_name
end

function EquipmentData:library_localized_name()
	return self._library_localized_name
end

function EquipmentData:library_reading()
	return self._library_reading
end

function EquipmentData:card_name()
	return self._card_name
end

function EquipmentData:card_japanese_name()
	return self._card_japanese_name
end

function EquipmentData:card_localized_name()
	return self._card_localized_name
end

function EquipmentData:card_reading()
	return self._card_reading
end

function EquipmentData:japanese_name()
	return self._japanese_name
end

function EquipmentData:type()
	return self._type
end

function EquipmentData:rarity()
	return self._rarity
end

function EquipmentData:stars()
	return self._stars or self:back()
end

function EquipmentData:back()
	return self._back or self:rarity()
end

function EquipmentData:card()
	return self._card
end

function EquipmentData:icon()
	return self._icon
end

function EquipmentData:firepower()
	return self._firepower
end

function EquipmentData:bombing()
	return self._bombing
end

function EquipmentData:torpedo()
	return self._torpedo
end

function EquipmentData:aa()
	return self._aa
end

function EquipmentData:armor()
	return self._armor
end

function EquipmentData:asw()
	return self._asw
end

function EquipmentData:shelling_accuracy()
	return self._shelling_accuracy
end

function EquipmentData:torpedo_accuracy()
	return self._torpedo_accuracy
end

function EquipmentData:evasion()
	return self._evasion
end

function EquipmentData:los()
	return self._los
end

function EquipmentData:speed()
	return self._speed
end

function EquipmentData:luck()
	return self._luck
end

function EquipmentData:range()
	return self._range
end

function EquipmentData:scrap()
	return {fuel = self._scrap_fuel, ammo = self._scrap_ammo, steel = self._scrap_steel, bauxite = self._scrap_bauxite}
end

function EquipmentData:buildable()
	  return self._buildable
end

function EquipmentData:upgradable()
	return not not self._upgradable
end

function EquipmentData:special()
	return self._special
end

function EquipmentData:equippable(ship_type)
	local equipment_type = self:type()
	if not ship_type then
		local result = {}
		for ship_type, compatibility_table in pairs(self._equipment_compatibility) do
			result[ship_type] = compatibility_table[equipment_type]
		end
		return result
	else
		local compatibility_table = self._equipment_compatibility[ship_type]
		if compatibility_table then
			local compatibility = compatibility_table[equipment_type]
			if type(compatibility) ~= "table" then
				return compatibility
			else
				return compatibility.value, compatibility.note
			end
		end
	end
end

function EquipmentData:create(equip)
	equip = equip or {}
	setmetatable(equip, equip)
	equip.__index = self
	return equip
end

EquipmentData.__call = EquipmentData.create

return EquipmentData