Game/GearData.cs
// Generated from the S&S2 textures (tools/build.py). Item lists, names, stats and prices.
// Tiers go cheapest first. Art: resources/sad/ss/item/<Src>.png; worn art is positioned by the fitting table.
public static class GearData
{
	public static readonly int HairCount = 37;
	public static readonly int BeardCount = 22;
	public static readonly string[] Races = { "Human", "Elf", "Orc", "Devil", "Undead" };

	// (Src, Name, Min, Max, Strength, Price); index 0 is bare fists
	public static readonly WeaponDef[] Weapons =
	{
		new( 0, 0, "Bare Fists", 2, 4, 0, 0 ),
		new( 1, 513, "Wooden Club", 3, 7, 0, 0 ),
		new( 2, 79, "Rusty Dagger", 3, 8, 0, 30 ),
		new( 3, 525, "Spiked Cudgel", 4, 9, 1, 40 ),
		new( 4, 509, "Hatchet", 4, 9, 2, 40 ),
		new( 5, 527, "Cleaver", 4, 10, 2, 40 ),
		new( 6, 499, "Short Sword", 5, 11, 2, 50 ),
		new( 7, 497, "Gladius", 5, 12, 3, 50 ),
		new( 8, 515, "Stone Mallet", 5, 13, 4, 60 ),
		new( 9, 511, "Woodsman's Axe", 6, 13, 4, 60 ),
		new( 10, 577, "Golden Hatchet", 6, 14, 4, 70 ),
		new( 11, 579, "Broadsword", 6, 15, 5, 80 ),
		new( 12, 501, "Fire Axe", 7, 16, 6, 90 ),
		new( 13, 503, "Butcher's Blade", 7, 17, 6, 90 ),
		new( 14, 289, "War Hammer", 8, 17, 6, 100 ),
		new( 15, 287, "Tree Maul", 8, 18, 7, 110 ),
		new( 16, 521, "Morning Star", 8, 19, 8, 130 ),
		new( 17, 519, "Flanged Mace", 9, 20, 8, 140 ),
		new( 18, 523, "Iron Flail", 9, 21, 8, 150 ),
		new( 19, 291, "Lucerne Hammer", 9, 21, 9, 170 ),
		new( 20, 297, "Sapphire Mace", 10, 22, 10, 180 ),
		new( 21, 295, "Spiked Mace", 10, 23, 10, 200 ),
		new( 22, 489, "Longsword", 10, 24, 10, 220 ),
		new( 23, 495, "Knight's Sword", 11, 25, 11, 240 ),
		new( 24, 493, "Noble Sword", 11, 25, 12, 270 ),
		new( 25, 507, "Bearded Axe", 11, 26, 12, 300 ),
		new( 26, 505, "Golden Axe", 12, 27, 12, 330 ),
		new( 27, 279, "Bearded Halberd", 12, 28, 13, 360 ),
		new( 28, 573, "Jewelled Sword", 12, 29, 14, 390 ),
		new( 29, 557, "Steel Sword", 13, 29, 14, 430 ),
		new( 30, 561, "Skull Sword", 13, 30, 14, 480 ),
		new( 31, 958, "Emerald Sword", 14, 31, 15, 520 ),
		new( 32, 253, "Black Scimitar", 14, 32, 16, 580 ),
		new( 33, 960, "Twilight Sword", 14, 33, 16, 630 ),
		new( 34, 956, "Blood Scimitar", 15, 33, 16, 700 ),
		new( 35, 255, "Ice Scimitar", 15, 34, 17, 770 ),
		new( 36, 571, "Orc Axe", 15, 35, 18, 840 ),
		new( 37, 517, "Golden Hammer", 16, 36, 18, 930 ),
		new( 38, 551, "Thunder Hammer", 16, 37, 18, 1020 ),
		new( 39, 952, "Blood Hammer", 16, 37, 19, 1120 ),
		new( 40, 954, "Skull Axe", 17, 38, 20, 1230 ),
		new( 41, 275, "Death Axe", 17, 39, 20, 1360 ),
		new( 42, 277, "Frost Axe", 17, 40, 20, 1490 ),
		new( 43, 555, "Sun Axe", 18, 41, 21, 1640 ),
		new( 44, 293, "Star Mace", 18, 41, 22, 1810 ),
		new( 45, 285, "Thorn Club", 18, 42, 22, 1990 ),
		new( 46, 569, "Dark Sword", 19, 43, 22, 2190 ),
		new( 47, 249, "Venom Blade", 19, 44, 23, 2410 ),
		new( 48, 251, "Katana", 19, 45, 24, 2650 ),
		new( 49, 247, "Shadow Blade", 20, 45, 24, 2910 ),
		new( 50, 257, "Rapier", 20, 46, 24, 3200 ),
		new( 51, 259, "Duellist's Sword", 20, 47, 25, 3520 ),
		new( 52, 962, "Corsair Blade", 21, 48, 26, 3870 ),
		new( 53, 261, "Inferno Sword", 21, 49, 26, 4260 ),
		new( 54, 547, "Ice Sword", 22, 49, 26, 4690 ),
		new( 55, 529, "Royal Sword", 22, 50, 27, 5160 ),
		new( 56, 271, "Spear", 22, 51, 28, 5670 ),
		new( 57, 267, "Glaive", 23, 52, 28, 6240 ),
		new( 58, 269, "Battle Halberd", 23, 53, 28, 6860 ),
		new( 59, 265, "Poleaxe", 23, 53, 29, 7550 ),
		new( 60, 281, "Scythe", 24, 54, 30, 8300 ),
		new( 61, 273, "Crescent Staff", 24, 55, 30, 9130 ),
		new( 62, 533, "Thorn Staff", 24, 56, 30, 10050 ),
		new( 63, 565, "Sun Staff", 25, 57, 31, 11050 ),
	};

	// per slot: (Src, Name, Level, Points, Price)
	public static readonly GearDef[][] Gear =
	{
		new GearDef[] // Helm
		{
			new( GearSlot.Helm, 0, 1369, "Ragged Helm", 1, 4, 50 ),
			new( GearSlot.Helm, 1, 913, "Ragged Helm II", 1, 5, 60 ),
			new( GearSlot.Helm, 2, 782, "Ragged Helm III", 2, 5, 60 ),
			new( GearSlot.Helm, 3, 1479, "Leather Helm", 2, 6, 70 ),
			new( GearSlot.Helm, 4, 917, "Leather Helm II", 3, 7, 80 ),
			new( GearSlot.Helm, 5, 931, "Studded Helm", 4, 7, 100 ),
			new( GearSlot.Helm, 6, 788, "Studded Helm II", 4, 8, 110 ),
			new( GearSlot.Helm, 7, 915, "Bronze Helm", 5, 9, 130 ),
			new( GearSlot.Helm, 8, 323, "Bronze Helm II", 6, 9, 150 ),
			new( GearSlot.Helm, 9, 1493, "Bronze Helm III", 6, 10, 170 ),
			new( GearSlot.Helm, 10, 921, "Iron Helm", 7, 10, 190 ),
			new( GearSlot.Helm, 11, 1371, "Iron Helm II", 8, 11, 220 ),
			new( GearSlot.Helm, 12, 1485, "Chain Helm", 8, 12, 250 ),
			new( GearSlot.Helm, 13, 1481, "Chain Helm II", 9, 12, 290 ),
			new( GearSlot.Helm, 14, 485, "Steel Helm", 10, 13, 330 ),
			new( GearSlot.Helm, 15, 1483, "Steel Helm II", 10, 14, 380 ),
			new( GearSlot.Helm, 16, 1495, "Steel Helm III", 11, 14, 440 ),
			new( GearSlot.Helm, 17, 313, "Legion Helm", 12, 15, 510 ),
			new( GearSlot.Helm, 18, 923, "Legion Helm II", 12, 16, 580 ),
			new( GearSlot.Helm, 19, 919, "Knight's Helm", 13, 16, 670 ),
			new( GearSlot.Helm, 20, 911, "Knight's Helm II", 13, 17, 770 ),
			new( GearSlot.Helm, 21, 315, "Gilded Helm", 14, 18, 880 ),
			new( GearSlot.Helm, 22, 317, "Gilded Helm II", 15, 18, 1020 ),
			new( GearSlot.Helm, 23, 925, "Gilded Helm III", 15, 19, 1170 ),
			new( GearSlot.Helm, 24, 319, "Champion's Helm", 16, 20, 1340 ),
			new( GearSlot.Helm, 25, 1487, "Champion's Helm II", 17, 20, 1540 ),
			new( GearSlot.Helm, 26, 327, "Dragon Helm", 17, 21, 1770 ),
			new( GearSlot.Helm, 27, 553, "Dragon Helm II", 18, 22, 2030 ),
			new( GearSlot.Helm, 28, 321, "Demon Helm", 19, 22, 2340 ),
			new( GearSlot.Helm, 29, 567, "Demon Helm II", 19, 23, 2690 ),
			new( GearSlot.Helm, 30, 325, "Demon Helm III", 20, 23, 3090 ),
			new( GearSlot.Helm, 31, 545, "Titan Helm", 21, 24, 3550 ),
			new( GearSlot.Helm, 32, 929, "Titan Helm II", 21, 25, 4070 ),
			new( GearSlot.Helm, 33, 927, "Mythic Helm", 22, 25, 4680 ),
			new( GearSlot.Helm, 34, 1491, "Mythic Helm II", 23, 26, 5380 ),
			new( GearSlot.Helm, 35, 537, "Godly Helm", 23, 27, 6180 ),
			new( GearSlot.Helm, 36, 1489, "Godly Helm II", 24, 27, 7100 ),
			new( GearSlot.Helm, 37, 535, "Godly Helm III", 25, 28, 8150 ),
		},
		new GearDef[] // Chest
		{
			new( GearSlot.Chest, 0, 1437, "Ragged Armour", 1, 8, 100 ),
			new( GearSlot.Chest, 1, 1335, "Ragged Armour II", 2, 10, 120 ),
			new( GearSlot.Chest, 2, 867, "Leather Armour", 3, 12, 150 ),
			new( GearSlot.Chest, 3, 1337, "Studded Armour", 4, 14, 190 ),
			new( GearSlot.Chest, 4, 1333, "Studded Armour II", 5, 16, 230 ),
			new( GearSlot.Chest, 5, 873, "Bronze Armour", 6, 18, 290 ),
			new( GearSlot.Chest, 6, 471, "Iron Armour", 7, 21, 370 ),
			new( GearSlot.Chest, 7, 871, "Iron Armour II", 8, 23, 460 ),
			new( GearSlot.Chest, 8, 465, "Chain Armour", 9, 25, 570 ),
			new( GearSlot.Chest, 9, 475, "Steel Armour", 10, 27, 720 ),
			new( GearSlot.Chest, 10, 479, "Steel Armour II", 11, 29, 900 ),
			new( GearSlot.Chest, 11, 865, "Legion Armour", 12, 31, 1120 ),
			new( GearSlot.Chest, 12, 463, "Knight's Armour", 13, 33, 1400 ),
			new( GearSlot.Chest, 13, 1339, "Gilded Armour", 14, 35, 1750 ),
			new( GearSlot.Chest, 14, 477, "Gilded Armour II", 15, 37, 2190 ),
			new( GearSlot.Chest, 15, 483, "Champion's Armour", 16, 39, 2730 ),
			new( GearSlot.Chest, 16, 459, "Dragon Armour", 17, 41, 3420 ),
			new( GearSlot.Chest, 17, 481, "Dragon Armour II", 18, 43, 4270 ),
			new( GearSlot.Chest, 18, 467, "Demon Armour", 19, 46, 5340 ),
			new( GearSlot.Chest, 19, 457, "Titan Armour", 20, 48, 6680 ),
			new( GearSlot.Chest, 20, 869, "Titan Armour II", 21, 50, 8350 ),
			new( GearSlot.Chest, 21, 473, "Mythic Armour", 22, 52, 10430 ),
			new( GearSlot.Chest, 22, 469, "Godly Armour", 23, 54, 13040 ),
			new( GearSlot.Chest, 23, 461, "Godly Armour II", 25, 56, 16300 ),
		},
		new GearDef[] // Shoulders
		{
			new( GearSlot.Shoulders, 0, 345, "Ragged Pauldrons", 1, 3, 40 ),
			new( GearSlot.Shoulders, 1, 341, "Ragged Pauldrons II", 1, 4, 40 ),
			new( GearSlot.Shoulders, 2, 381, "Leather Pauldrons", 2, 4, 50 ),
			new( GearSlot.Shoulders, 3, 343, "Leather Pauldrons II", 3, 5, 70 ),
			new( GearSlot.Shoulders, 4, 383, "Studded Pauldrons", 4, 6, 80 ),
			new( GearSlot.Shoulders, 5, 389, "Bronze Pauldrons", 5, 6, 100 ),
			new( GearSlot.Shoulders, 6, 339, "Bronze Pauldrons II", 6, 7, 120 ),
			new( GearSlot.Shoulders, 7, 349, "Iron Pauldrons", 7, 8, 140 ),
			new( GearSlot.Shoulders, 8, 391, "Iron Pauldrons II", 8, 9, 170 ),
			new( GearSlot.Shoulders, 9, 387, "Chain Pauldrons", 9, 9, 210 ),
			new( GearSlot.Shoulders, 10, 379, "Steel Pauldrons", 10, 10, 260 ),
			new( GearSlot.Shoulders, 11, 385, "Steel Pauldrons II", 11, 11, 320 ),
			new( GearSlot.Shoulders, 12, 353, "Legion Pauldrons", 12, 11, 390 ),
			new( GearSlot.Shoulders, 13, 347, "Knight's Pauldrons", 13, 12, 470 ),
			new( GearSlot.Shoulders, 14, 367, "Knight's Pauldrons II", 13, 13, 570 ),
			new( GearSlot.Shoulders, 15, 351, "Gilded Pauldrons", 14, 13, 700 ),
			new( GearSlot.Shoulders, 16, 375, "Gilded Pauldrons II", 15, 14, 850 ),
			new( GearSlot.Shoulders, 17, 377, "Champion's Pauldrons", 16, 15, 1030 ),
			new( GearSlot.Shoulders, 18, 359, "Dragon Pauldrons", 17, 15, 1260 ),
			new( GearSlot.Shoulders, 19, 355, "Dragon Pauldrons II", 18, 16, 1530 ),
			new( GearSlot.Shoulders, 20, 371, "Demon Pauldrons", 19, 17, 1870 ),
			new( GearSlot.Shoulders, 21, 369, "Demon Pauldrons II", 20, 18, 2280 ),
			new( GearSlot.Shoulders, 22, 365, "Titan Pauldrons", 21, 18, 2770 ),
			new( GearSlot.Shoulders, 23, 373, "Mythic Pauldrons", 22, 19, 3380 ),
			new( GearSlot.Shoulders, 24, 363, "Mythic Pauldrons II", 23, 20, 4120 ),
			new( GearSlot.Shoulders, 25, 357, "Godly Pauldrons", 24, 20, 5020 ),
			new( GearSlot.Shoulders, 26, 361, "Godly Pauldrons II", 25, 21, 6110 ),
		},
		new GearDef[] // Gauntlets
		{
			new( GearSlot.Gauntlets, 0, 419, "Ragged Gauntlets", 1, 3, 40 ),
			new( GearSlot.Gauntlets, 1, 417, "Ragged Gauntlets II", 2, 4, 50 ),
			new( GearSlot.Gauntlets, 2, 329, "Leather Gauntlets", 3, 5, 60 ),
			new( GearSlot.Gauntlets, 3, 397, "Studded Gauntlets", 4, 5, 70 ),
			new( GearSlot.Gauntlets, 4, 337, "Studded Gauntlets II", 5, 6, 90 ),
			new( GearSlot.Gauntlets, 5, 415, "Bronze Gauntlets", 6, 7, 110 ),
			new( GearSlot.Gauntlets, 6, 423, "Iron Gauntlets", 7, 8, 140 ),
			new( GearSlot.Gauntlets, 7, 407, "Iron Gauntlets II", 8, 8, 170 ),
			new( GearSlot.Gauntlets, 8, 421, "Chain Gauntlets", 9, 9, 210 ),
			new( GearSlot.Gauntlets, 9, 335, "Steel Gauntlets", 10, 10, 270 ),
			new( GearSlot.Gauntlets, 10, 429, "Steel Gauntlets II", 11, 11, 340 ),
			new( GearSlot.Gauntlets, 11, 409, "Legion Gauntlets", 12, 12, 420 ),
			new( GearSlot.Gauntlets, 12, 413, "Knight's Gauntlets", 13, 12, 520 ),
			new( GearSlot.Gauntlets, 13, 399, "Gilded Gauntlets", 14, 13, 660 ),
			new( GearSlot.Gauntlets, 14, 411, "Gilded Gauntlets II", 15, 14, 820 ),
			new( GearSlot.Gauntlets, 15, 395, "Champion's Gauntlets", 16, 15, 1020 ),
			new( GearSlot.Gauntlets, 16, 405, "Dragon Gauntlets", 17, 16, 1280 ),
			new( GearSlot.Gauntlets, 17, 393, "Dragon Gauntlets II", 18, 16, 1600 ),
			new( GearSlot.Gauntlets, 18, 333, "Demon Gauntlets", 19, 17, 2000 ),
			new( GearSlot.Gauntlets, 19, 401, "Titan Gauntlets", 20, 18, 2500 ),
			new( GearSlot.Gauntlets, 20, 403, "Titan Gauntlets II", 21, 19, 3130 ),
			new( GearSlot.Gauntlets, 21, 331, "Mythic Gauntlets", 22, 19, 3910 ),
			new( GearSlot.Gauntlets, 22, 425, "Godly Gauntlets", 23, 20, 4890 ),
			new( GearSlot.Gauntlets, 23, 427, "Godly Gauntlets II", 25, 21, 6110 ),
		},
		new GearDef[] // Thighs
		{
			new( GearSlot.Thighs, 0, 1415, "Ragged Cuisses", 1, 3, 40 ),
			new( GearSlot.Thighs, 1, 1373, "Leather Cuisses", 3, 5, 60 ),
			new( GearSlot.Thighs, 2, 1417, "Bronze Cuisses", 6, 7, 110 ),
			new( GearSlot.Thighs, 3, 1375, "Chain Cuisses", 9, 9, 200 ),
			new( GearSlot.Thighs, 4, 1425, "Legion Cuisses", 11, 11, 350 ),
			new( GearSlot.Thighs, 5, 1423, "Knight's Cuisses", 14, 13, 620 ),
			new( GearSlot.Thighs, 6, 1399, "Champion's Cuisses", 17, 15, 1100 ),
			new( GearSlot.Thighs, 7, 1379, "Demon Cuisses", 19, 17, 1950 ),
			new( GearSlot.Thighs, 8, 1427, "Mythic Cuisses", 22, 19, 3460 ),
			new( GearSlot.Thighs, 9, 1421, "Godly Cuisses", 25, 21, 6110 ),
		},
		new GearDef[] // Greaves
		{
			new( GearSlot.Greaves, 0, 1387, "Ragged Greaves", 1, 3, 40 ),
			new( GearSlot.Greaves, 1, 1359, "Leather Greaves", 2, 4, 50 ),
			new( GearSlot.Greaves, 2, 1389, "Studded Greaves", 4, 5, 70 ),
			new( GearSlot.Greaves, 3, 1393, "Bronze Greaves", 5, 6, 90 ),
			new( GearSlot.Greaves, 4, 1381, "Iron Greaves", 7, 8, 130 ),
			new( GearSlot.Greaves, 5, 1363, "Chain Greaves", 8, 9, 180 ),
			new( GearSlot.Greaves, 6, 1383, "Steel Greaves", 10, 10, 250 ),
			new( GearSlot.Greaves, 7, 1361, "Legion Greaves", 11, 11, 340 ),
			new( GearSlot.Greaves, 8, 1385, "Knight's Greaves", 13, 12, 470 ),
			new( GearSlot.Greaves, 9, 1391, "Gilded Greaves", 14, 13, 650 ),
			new( GearSlot.Greaves, 10, 1401, "Champion's Greaves", 16, 14, 890 ),
			new( GearSlot.Greaves, 11, 1365, "Dragon Greaves", 17, 15, 1230 ),
			new( GearSlot.Greaves, 12, 1407, "Demon Greaves", 19, 16, 1690 ),
			new( GearSlot.Greaves, 13, 1403, "Titan Greaves", 20, 18, 2330 ),
			new( GearSlot.Greaves, 14, 1409, "Mythic Greaves", 22, 19, 3220 ),
			new( GearSlot.Greaves, 15, 1405, "Godly Greaves", 23, 20, 4440 ),
			new( GearSlot.Greaves, 16, 1411, "Godly Greaves II", 25, 21, 6110 ),
		},
		new GearDef[] // Boots
		{
			new( GearSlot.Boots, 0, 449, "Ragged Boots", 1, 2, 20 ),
			new( GearSlot.Boots, 1, 1341, "Ragged Boots II", 2, 3, 30 ),
			new( GearSlot.Boots, 2, 443, "Leather Boots", 3, 3, 40 ),
			new( GearSlot.Boots, 3, 447, "Studded Boots", 5, 4, 60 ),
			new( GearSlot.Boots, 4, 445, "Bronze Boots", 6, 5, 80 ),
			new( GearSlot.Boots, 5, 1343, "Iron Boots", 7, 5, 100 ),
			new( GearSlot.Boots, 6, 455, "Chain Boots", 9, 6, 130 ),
			new( GearSlot.Boots, 7, 1345, "Steel Boots", 10, 7, 180 ),
			new( GearSlot.Boots, 8, 453, "Legion Boots", 11, 7, 240 ),
			new( GearSlot.Boots, 9, 435, "Knight's Boots", 13, 8, 310 ),
			new( GearSlot.Boots, 10, 431, "Knight's Boots II", 14, 9, 420 ),
			new( GearSlot.Boots, 11, 437, "Gilded Boots", 15, 9, 550 ),
			new( GearSlot.Boots, 12, 441, "Champion's Boots", 17, 10, 740 ),
			new( GearSlot.Boots, 13, 1349, "Dragon Boots", 18, 11, 980 ),
			new( GearSlot.Boots, 14, 1347, "Demon Boots", 19, 11, 1300 ),
			new( GearSlot.Boots, 15, 1351, "Titan Boots", 21, 12, 1730 ),
			new( GearSlot.Boots, 16, 439, "Mythic Boots", 22, 13, 2300 ),
			new( GearSlot.Boots, 17, 451, "Godly Boots", 23, 13, 3060 ),
			new( GearSlot.Boots, 18, 433, "Godly Boots II", 25, 14, 4080 ),
		},
		new GearDef[] // Shield
		{
			new( GearSlot.Shield, 0, 934, "Ragged Shield", 1, 6, 70 ),
			new( GearSlot.Shield, 1, 311, "Ragged Shield II", 2, 8, 90 ),
			new( GearSlot.Shield, 2, 305, "Leather Shield", 3, 9, 110 ),
			new( GearSlot.Shield, 3, 940, "Studded Shield", 4, 11, 150 ),
			new( GearSlot.Shield, 4, 780, "Studded Shield II", 5, 13, 180 ),
			new( GearSlot.Shield, 5, 790, "Bronze Shield", 6, 14, 230 ),
			new( GearSlot.Shield, 6, 784, "Iron Shield", 7, 16, 290 ),
			new( GearSlot.Shield, 7, 307, "Chain Shield", 8, 17, 370 ),
			new( GearSlot.Shield, 8, 786, "Chain Shield II", 9, 19, 470 ),
			new( GearSlot.Shield, 9, 301, "Steel Shield", 10, 21, 590 ),
			new( GearSlot.Shield, 10, 531, "Legion Shield", 11, 22, 740 ),
			new( GearSlot.Shield, 11, 559, "Knight's Shield", 13, 24, 940 ),
			new( GearSlot.Shield, 12, 563, "Knight's Shield II", 14, 26, 1180 ),
			new( GearSlot.Shield, 13, 543, "Gilded Shield", 15, 27, 1500 ),
			new( GearSlot.Shield, 14, 942, "Champion's Shield", 16, 29, 1890 ),
			new( GearSlot.Shield, 15, 946, "Champion's Shield II", 17, 31, 2390 ),
			new( GearSlot.Shield, 16, 944, "Dragon Shield", 18, 32, 3010 ),
			new( GearSlot.Shield, 17, 309, "Demon Shield", 19, 34, 3810 ),
			new( GearSlot.Shield, 18, 299, "Titan Shield", 20, 35, 4810 ),
			new( GearSlot.Shield, 19, 549, "Titan Shield II", 21, 37, 6070 ),
			new( GearSlot.Shield, 20, 938, "Mythic Shield", 22, 39, 7670 ),
			new( GearSlot.Shield, 21, 303, "Godly Shield", 23, 40, 9680 ),
			new( GearSlot.Shield, 22, 936, "Godly Shield II", 25, 42, 12230 ),
		},
	};
}