diff --git a/main.py b/main.py index c9900a098b76a74ee174eef95c47363d4026efd0..7b48320a1f8eb3a71bd1d79e79c65d5f562adbfc 100644 --- a/main.py +++ b/main.py @@ -38,11 +38,15 @@ weapon_choices = [ "OneHandAxes", "TwoHandAxes", "Daggers", + "OneHandSwords", + "OneHandThrustingSwords", + "TwoHandSwords", "Claws", "Bows", "Quivers", "Sceptres", "Wands", + "Staves", "Shields", ] diff --git a/resources/data/hand/claws.json b/resources/data/hand/claws.json index 7a9622e5c4d74e3517f57d229e60dcd8f9a57e5a..97ead1faea51edb024b214b59dcfd7f17a18ccd4 100644 --- a/resources/data/hand/claws.json +++ b/resources/data/hand/claws.json @@ -270,7 +270,7 @@ { "Type": "Weapon", "Class": "Claw", - "Name": "Gemeni Claw", + "Name": "Gemini Claw", "Damage": [23, 68], "ImplicitType": "", "ImplicitValue": [], diff --git a/resources/data/hand/one_hand_swords.json b/resources/data/hand/one_hand_swords.json new file mode 100644 index 0000000000000000000000000000000000000000..8c3af337a266bfcfc94df4bd35ee8426a993cf2c --- /dev/null +++ b/resources/data/hand/one_hand_swords.json @@ -0,0 +1,282 @@ +[ + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Charan's Sword", + "Damage": [5, 11], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 1, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Rusted Sword", + "Damage": [4, 9], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 1, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Copper Sword", + "Damage": [6, 14], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 5, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Sabre", + "Damage": [5, 22], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 10, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Broad Sword", + "Damage": [15, 21], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 15, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "War Sword", + "Damage": [16, 30], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 20, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Ancient Sword", + "Damage": [18, 33], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 24, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Elegant Sword", + "Damage": [20, 33], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 28, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Dusk Blade", + "Damage": [19, 54], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 32, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Hook Sword", + "Damage": [28, 60], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 34, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Variscite Blade", + "Damage": [25, 53], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 35, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Cutlass", + "Damage": [13, 53], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 38, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Baselard", + "Damage": [37, 53], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 41, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Battle Sword", + "Damage": [38, 70], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 44, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Elder Sword", + "Damage": [36, 66], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 47, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Capricious Spiritblade", + "Damage": [27, 51], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 50, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Graceful Sword", + "Damage": [34, 55], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 50, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Twilight Blade", + "Damage": [30, 86], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 53, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Grappler", + "Damage": [44, 94], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 55, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Gemstone Sword", + "Damage": [39, 83], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 56, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Corsair Sword", + "Damage": [20, 80], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 58, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Gladius", + "Damage": [54, 78], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 60, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Legion Sword", + "Damage": [53, 98], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 62, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Vaal Blade", + "Damage": [46, 86], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 64, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Eternal Sword", + "Damage": [41, 68], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 66, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Midnight Blade", + "Damage": [35, 99], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 68, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Anarchic Spiritblade", + "Damage": [34, 63], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "One Hand Sword", + "Name": "Tiger Hook", + "Damage": [37, 80], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + } +] diff --git a/resources/data/hand/one_hand_thrusting_swords.json b/resources/data/hand/one_hand_thrusting_swords.json new file mode 100644 index 0000000000000000000000000000000000000000..1899dc8c808d8ecfb4d1528f6471d667cc6b40b5 --- /dev/null +++ b/resources/data/hand/one_hand_thrusting_swords.json @@ -0,0 +1,252 @@ +[ + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Rusted Spike", + "Damage": [5, 11], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 1, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Whalebone Rapier", + "Damage": [4, 17], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 7, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Battered Foil", + "Damage": [11, 20], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 12, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Basket Rapier", + "Damage": [11, 25], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 17, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Jagged Foil", + "Damage": [12, 29], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 22, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Antique Rapier", + "Damage": [12, 46], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 26, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Elegant Foil", + "Damage": [18, 33], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 30, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Thorn Rapier", + "Damage": [19, 44], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 34, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Smallsword", + "Damage": [19, 40], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 36, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Wyrmbone Rapier", + "Damage": [13, 51], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 37, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Burnished Foil", + "Damage": [25, 46], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 40, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Estoc", + "Damage": [21, 50], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 43, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Serrated Foil", + "Damage": [21, 49], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 46, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Primeval Rapier", + "Damage": [18, 73], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 49, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Fancy Foil", + "Damage": [28, 51], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 52, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Apex Rapier", + "Damage": [29, 67], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 55, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Courtesan Sword", + "Damage": [29, 60], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 57, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Dragonbone Rapier", + "Damage": [19, 75], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 58, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Tempered Foil", + "Damage": [35, 65], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 60, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Pecoraro", + "Damage": [29, 69], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 62, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Spiraled Foil", + "Damage": [27, 64], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 64, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Vaal Rapier", + "Damage": [22, 87], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 66, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Jewelled Foil", + "Damage": [32, 60], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 68, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Harpy Rapier", + "Damage": [31, 72], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Thrusting One Hand Swords", + "Name": "Dragoon Sword", + "Damage": [32, 66], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 72, + "MaxLevel": true + } +] diff --git a/resources/data/hand/staves.json b/resources/data/hand/staves.json new file mode 100644 index 0000000000000000000000000000000000000000..fed565c052a0c4721519e1fc995dbb93cf5c7e6c --- /dev/null +++ b/resources/data/hand/staves.json @@ -0,0 +1,282 @@ +[ + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Gnarled Branch", + "Damage": [9, 19], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 1, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Primitive Staff", + "Damage": [10, 31], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 9, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Long Staff", + "Damage": [24, 41], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 18, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Royal Staff", + "Damage": [27, 81], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 28, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Transformer Staff", + "Damage": [36, 66], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 30, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Crescent Staff", + "Damage": [41, 85], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 36, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Woodful Staff", + "Damage": [34, 102], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 37, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Quarterstaff", + "Damage": [51, 86], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 45, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Reciprocation Staff", + "Damage": [55, 102], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 50, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Highborn Staff", + "Damage": [48, 145], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 52, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Moon Staff", + "Damage": [66, 138], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 57, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Primordial Staff", + "Damage": [55, 165], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 58, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Lathi", + "Damage": [72, 120], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 62, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Imperial Staff", + "Damage": [57, 171], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 66, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Battery Staff", + "Damage": [65, 120], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Eclipse Staff", + "Damage": [70, 145], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Iron Staff", + "Damage": [14, 42], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 13, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Coiled Staff", + "Damage": [27, 57], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 23, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Capacity Rod", + "Damage": [39, 73], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 30, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Vile Staff", + "Damage": [41, 76], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 33, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Military Staff", + "Damage": [38, 114], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 41, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Serpentine Staff", + "Damage": [56, 117], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 49, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Potentiality Rod", + "Damage": [61, 113], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 50, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Foul Staff", + "Damage": [65, 121], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 55, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Ezomyte Staff", + "Damage": [53, 160], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 60, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Maelström Staff", + "Damage": [71, 147], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 64, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Judgement Staff", + "Damage": [73, 136], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 68, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Warstaves", + "Name": "Eventuality Rod", + "Damage": [78, 144], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + } +] diff --git a/resources/data/hand/two_hand_swords.json b/resources/data/hand/two_hand_swords.json new file mode 100644 index 0000000000000000000000000000000000000000..198bd8bc2fd44747fdd2a62e01a69e0c94267fa0 --- /dev/null +++ b/resources/data/hand/two_hand_swords.json @@ -0,0 +1,242 @@ +[ + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Corroded Blade", + "Damage": [8, 16], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 1, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Longsword", + "Damage": [11, 26], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 8, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Bastard Sword", + "Damage": [17, 29], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 12, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Two-Handed Sword", + "Damage": [20, 38], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 17, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Etched Greatsword", + "Damage": [23, 48], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 22, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Ornate Sword", + "Damage": [30, 50], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 27, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Spectral Sword", + "Damage": [31, 65], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 32, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Curved Blade", + "Damage": [41, 68], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 35, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Butcher Sword", + "Damage": [34, 79], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 36, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Footman Sword", + "Damage": [39, 65], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 40, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Highland Blade", + "Damage": [45, 84], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 44, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Engraved Greatsword", + "Damage": [49, 102], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 48, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Blasting Blade", + "Damage": [47, 87], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 50, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Tiger Sword", + "Damage": [54, 89], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 51, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Wraith Sword", + "Damage": [52, 109], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 54, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Lithe Blade", + "Damage": [63, 104], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 56, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Headman's Sword", + "Damage": [55, 128], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 57, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Reaver Sword", + "Damage": [62, 104], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 59, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Ezomyte Blade", + "Damage": [62, 115], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 61, + "MaxLevel": false + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Vaal Greatsword", + "Damage": [68, 142], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 63, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Lion Sword", + "Damage": [69, 115], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 65, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Infernal Sword", + "Damage": [62, 129], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 67, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Banishing Blade", + "Damage": [55, 102], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + }, + { + "Type": "Weapon", + "Class": "Two Hand Sword", + "Name": "Exquisite Blade", + "Damage": [67, 112], + "ImplicitType": "", + "ImplicitValue": [], + "DropLevel": 70, + "MaxLevel": true + } +] diff --git a/resources/parsers/other.py b/resources/parsers/other.py index 2b1ab28dc4c2b6b3d6d88c574c5d8388acec504d..db07a3223b3dc33cb6d80048f8c4b5fc52af2a2d 100644 --- a/resources/parsers/other.py +++ b/resources/parsers/other.py @@ -487,7 +487,6 @@ class FinalParser: "Ring", "Belt", "Amulet", - "Talisman", ], ) diff --git a/resources/parsers/table_of_contents.py b/resources/parsers/table_of_contents.py index 71b6648c552811f2ada364aae6f377de3264d412..1c110263060050305a2929a01fdf566c59b900d6 100644 --- a/resources/parsers/table_of_contents.py +++ b/resources/parsers/table_of_contents.py @@ -163,6 +163,33 @@ class TableOfContentsGenerator: ) ) + if "OneHandSwords" in self.weapon_types: + parse_subnum += 1 + self.filter_file.write( + "# [{0}.{1}] - One Handed Swords\n".format( + str(parse_num).zfill(3), + str(parse_subnum).zfill(2), + ) + ) + + if "OneHandThrustingSwords" in self.weapon_types: + parse_subnum += 1 + self.filter_file.write( + "# [{0}.{1}] - One Handed Thrusting Swords\n".format( + str(parse_num).zfill(3), + str(parse_subnum).zfill(2), + ) + ) + + if "TwoHandSwords" in self.weapon_types: + parse_subnum += 1 + self.filter_file.write( + "# [{0}.{1}] - Two Handed Swords\n".format( + str(parse_num).zfill(3), + str(parse_subnum).zfill(2), + ) + ) + if "Claws" in self.weapon_types: parse_subnum += 1 self.filter_file.write( @@ -190,6 +217,15 @@ class TableOfContentsGenerator: ), ) + if "Septres" in self.weapon_types: + parse_subnum += 1 + self.filter_file.write( + "# [{0}.{1}] - Septres\n".format( + str(parse_num).zfill(3), + str(parse_subnum).zfill(2), + ), + ) + if "Wands" in self.weapon_types: parse_subnum += 1 self.filter_file.write( @@ -199,6 +235,15 @@ class TableOfContentsGenerator: ), ) + if "Staves" in self.weapon_types: + parse_subnum += 1 + self.filter_file.write( + "# [{0}.{1}] - Staves\n".format( + str(parse_num).zfill(3), + str(parse_subnum).zfill(2), + ), + ) + if "Shields" in self.weapon_types: parse_subnum += 1 self.filter_file.write( diff --git a/resources/parsers/weapons.py b/resources/parsers/weapons.py index 5279924b2cf6d35c6f70cb0a730004170024e6bf..c23cfc44feb986647890ad1c9a064adda5f96e3c 100644 --- a/resources/parsers/weapons.py +++ b/resources/parsers/weapons.py @@ -59,6 +59,15 @@ class WeaponParser: if "Daggers" in self.weapon_types: self.parse_daggers() + if "OneHandSwords" in self.weapon_types: + self.parse_one_hand_swords() + + if "OneHandThrustingSwords" in self.weapon_types: + self.parse_one_hand_thrusting_swords() + + if "TwoHandSwords" in self.weapon_types: + self.parse_two_hand_swords() + if "Claws" in self.weapon_types: self.parse_claws() @@ -74,6 +83,9 @@ class WeaponParser: if "Wands" in self.weapon_types: self.parse_wands() + if "Staves" in self.weapon_types: + self.parse_staves() + if "Shields" in self.weapon_types: self.parse_shields() @@ -348,6 +360,86 @@ class WeaponParser: # Parse item. self.parse_item(item, display_dict["Ev/En"]) + def parse_one_hand_swords(self): + """ + Parses all "OneHandSword" type weapons. + """ + if self.debug: + logger.info("Parsing one handed swords.") + + self.parse_subnum += 1 + + # Section Start. + self.filter_file.write("\n") + self.filter_file.write("# ----------------------------------- #\n") + self.filter_file.write( + "# --- [{0}.{1}] - One Handed Swords --- #\n".format(self.parse_num, str(self.parse_subnum).zfill(2)) + ) + self.filter_file.write("# ----------------------------------- #\n") + self.filter_file.write("\n") + + # Parse wands. + with open("resources/data/hand/one_hand_swords.json", "r") as json_file: + # Loop through all items in json. + json_data = json.load(json_file) + for item in json_data: + # Parse item. + self.parse_item(item, display_dict["A/Ev"]) + + def parse_one_hand_thrusting_swords(self): + """ + Parses all "OneHandSword" type weapons. + """ + if self.debug: + logger.info("Parsing one handed thrusting swords.") + + self.parse_subnum += 1 + + # Section Start. + self.filter_file.write("\n") + self.filter_file.write("# ----------------------------------- #\n") + self.filter_file.write( + "# --- [{0}.{1}] - One Handed Thrusting Swords --- #\n".format( + self.parse_num, str(self.parse_subnum).zfill(2) + ) + ) + self.filter_file.write("# ----------------------------------- #\n") + self.filter_file.write("\n") + + # Parse wands. + with open("resources/data/hand/one_hand_thrusting_swords.json", "r") as json_file: + # Loop through all items in json. + json_data = json.load(json_file) + for item in json_data: + # Parse item. + self.parse_item(item, display_dict["Ev"]) + + def parse_two_hand_swords(self): + """ + Parses all "TwoHandSword" type weapons. + """ + if self.debug: + logger.info("Parsing two handed swords.") + + self.parse_subnum += 1 + + # Section Start. + self.filter_file.write("\n") + self.filter_file.write("# ----------------------------------- #\n") + self.filter_file.write( + "# --- [{0}.{1}] - Two Handed Swords --- #\n".format(self.parse_num, str(self.parse_subnum).zfill(2)) + ) + self.filter_file.write("# ----------------------------------- #\n") + self.filter_file.write("\n") + + # Parse wands. + with open("resources/data/hand/two_hand_swords.json", "r") as json_file: + # Loop through all items in json. + json_data = json.load(json_file) + for item in json_data: + # Parse item. + self.parse_item(item, display_dict["A/Ev"]) + def parse_claws(self): """ Parses all "Claw" type weapons. @@ -476,6 +568,32 @@ class WeaponParser: # Parse item. self.parse_item(item, display_dict["En"]) + def parse_staves(self): + """ + Parses all "Staff" type weapons. + """ + if self.debug: + logger.info("Parsing staves.") + + self.parse_subnum += 1 + + # Section Start. + self.filter_file.write("\n") + self.filter_file.write("# ------------------------ #\n") + self.filter_file.write( + "# --- [{0}.{1}] - Staves --- #\n".format(self.parse_num, str(self.parse_subnum).zfill(2)) + ) + self.filter_file.write("# ------------------------ #\n") + self.filter_file.write("\n") + + # Parse wands. + with open("resources/data/hand/staves.json", "r") as json_file: + # Loop through all items in json. + json_data = json.load(json_file) + for item in json_data: + # Parse item. + self.parse_item(item, display_dict["En/A"]) + def parse_shields(self): """ Parses all "Shield" type items, based on selected defenses.