diff --git a/eos/saveddata/damagePattern.py b/eos/saveddata/damagePattern.py index 7a9a53469..a0b36ab74 100644 --- a/eos/saveddata/damagePattern.py +++ b/eos/saveddata/damagePattern.py @@ -24,97 +24,97 @@ import eos.db BUILTINS = OrderedDict([ - (-1, ('Uniform', 25, 25, 25, 25)), - (-2, ('[Generic]EM', 1, 0, 0, 0)), - (-3, ('[Generic]Thermal', 0, 1, 0, 0)), - (-4, ('[Generic]Kinetic', 0, 0, 1, 0)), - (-5, ('[Generic]Explosive', 0, 0, 0, 1)), - (-6, ('[Bombs]Electron Bomb', 6400, 0, 0, 0)), - (-7, ('[Bombs]Scorch Bomb', 0, 6400, 0, 0)), - (-8, ('[Bombs]Concussion Bomb', 0, 0, 6400, 0)), - (-9, ('[Bombs]Shrapnel Bomb', 0, 0, 0, 6400)), - (-10, ('[Frequency Crystals][T2] Conflagration', 7.7, 7.7, 0, 0)), - (-11, ('[Frequency Crystals][T2] Scorch', 9, 2, 0, 0)), - (-12, ('[Frequency Crystals][T2] Gleam', 7, 7, 0, 0)), - (-13, ('[Frequency Crystals][T2] Aurora', 5, 3, 0, 0)), - (-14, ('[Frequency Crystals]Multifrequency', 7, 5, 0, 0)), - (-15, ('[Frequency Crystals]Gamma', 7, 4, 0, 0)), - (-16, ('[Frequency Crystals]Xray', 6, 4, 0, 0)), - (-17, ('[Frequency Crystals]Ultraviolet', 6, 3, 0, 0)), - (-18, ('[Frequency Crystals]Standard', 5, 3, 0, 0)), - (-19, ('[Frequency Crystals]Infrared', 5, 2, 0, 0)), - (-20, ('[Frequency Crystals]Microwave', 4, 2, 0, 0)), - (-21, ('[Frequency Crystals]Radio', 5, 0, 0, 0)), - (-22, ('[Hybrid Charges][T2] Void', 0, 7.7, 7.7, 0)), - (-23, ('[Hybrid Charges][T2] Null', 0, 6, 5, 0)), - (-24, ('[Hybrid Charges][T2] Javelin', 0, 8, 6, 0)), - (-25, ('[Hybrid Charges][T2] Spike', 0, 4, 4, 0)), - (-26, ('[Hybrid Charges]Antimatter', 0, 5, 7, 0)), - (-27, ('[Hybrid Charges]Plutonium', 0, 5, 6, 0)), - (-28, ('[Hybrid Charges]Uranium', 0, 4, 6, 0)), - (-29, ('[Hybrid Charges]Thorium', 0, 4, 5, 0)), - (-30, ('[Hybrid Charges]Lead', 0, 3, 5, 0)), - (-31, ('[Hybrid Charges]Iridium', 0, 3, 4, 0)), - (-32, ('[Hybrid Charges]Tungsten', 0, 2, 4, 0)), - (-33, ('[Hybrid Charges]Iron', 0, 2, 3, 0)), - (-34, ('[Missiles]Mjolnir', 1, 0, 0, 0)), - (-35, ('[Missiles]Inferno', 0, 1, 0, 0)), - (-36, ('[Missiles]Scourge', 0, 0, 1, 0)), - (-37, ('[Missiles]Nova', 0, 0, 0, 1)), - (-38, ('[Missiles][Structure] Standup Missile', 1, 1, 1, 1)), - (-39, ('[Projectile Ammo][T2] Hail', 0, 0, 3.3, 12.1)), - (-40, ('[Projectile Ammo][T2] Barrage', 0, 0, 5, 6)), - (-41, ('[Projectile Ammo][T2] Quake', 0, 0, 5, 9)), - (-42, ('[Projectile Ammo][T2] Tremor', 0, 0, 3, 5)), - (-43, ('[Projectile Ammo]EMP', 9, 0, 1, 2)), - (-44, ('[Projectile Ammo]Phased Plasma', 0, 10, 2, 0)), - (-45, ('[Projectile Ammo]Fusion', 0, 0, 2, 10)), - (-46, ('[Projectile Ammo]Depleted Uranium', 0, 3, 2, 3)), - (-47, ('[Projectile Ammo]Titanium Sabot', 0, 0, 6, 2)), - (-48, ('[Projectile Ammo]Proton', 3, 0, 2, 0)), - (-49, ('[Projectile Ammo]Carbonized Lead', 0, 0, 4, 1)), - (-50, ('[Projectile Ammo]Nuclear', 0, 0, 1, 4)), + (1, ('Uniform', 25, 25, 25, 25)), + (2, ('[Generic]EM', 1, 0, 0, 0)), + (3, ('[Generic]Thermal', 0, 1, 0, 0)), + (4, ('[Generic]Kinetic', 0, 0, 1, 0)), + (5, ('[Generic]Explosive', 0, 0, 0, 1)), + (6, ('[Bombs]Electron Bomb', 6400, 0, 0, 0)), + (7, ('[Bombs]Scorch Bomb', 0, 6400, 0, 0)), + (8, ('[Bombs]Concussion Bomb', 0, 0, 6400, 0)), + (9, ('[Bombs]Shrapnel Bomb', 0, 0, 0, 6400)), + (10, ('[Frequency Crystals][T2] Conflagration', 7.7, 7.7, 0, 0)), + (11, ('[Frequency Crystals][T2] Scorch', 9, 2, 0, 0)), + (12, ('[Frequency Crystals][T2] Gleam', 7, 7, 0, 0)), + (13, ('[Frequency Crystals][T2] Aurora', 5, 3, 0, 0)), + (14, ('[Frequency Crystals]Multifrequency', 7, 5, 0, 0)), + (15, ('[Frequency Crystals]Gamma', 7, 4, 0, 0)), + (16, ('[Frequency Crystals]Xray', 6, 4, 0, 0)), + (17, ('[Frequency Crystals]Ultraviolet', 6, 3, 0, 0)), + (18, ('[Frequency Crystals]Standard', 5, 3, 0, 0)), + (19, ('[Frequency Crystals]Infrared', 5, 2, 0, 0)), + (20, ('[Frequency Crystals]Microwave', 4, 2, 0, 0)), + (21, ('[Frequency Crystals]Radio', 5, 0, 0, 0)), + (22, ('[Hybrid Charges][T2] Void', 0, 7.7, 7.7, 0)), + (23, ('[Hybrid Charges][T2] Null', 0, 6, 5, 0)), + (24, ('[Hybrid Charges][T2] Javelin', 0, 8, 6, 0)), + (25, ('[Hybrid Charges][T2] Spike', 0, 4, 4, 0)), + (26, ('[Hybrid Charges]Antimatter', 0, 5, 7, 0)), + (27, ('[Hybrid Charges]Plutonium', 0, 5, 6, 0)), + (28, ('[Hybrid Charges]Uranium', 0, 4, 6, 0)), + (29, ('[Hybrid Charges]Thorium', 0, 4, 5, 0)), + (30, ('[Hybrid Charges]Lead', 0, 3, 5, 0)), + (31, ('[Hybrid Charges]Iridium', 0, 3, 4, 0)), + (32, ('[Hybrid Charges]Tungsten', 0, 2, 4, 0)), + (33, ('[Hybrid Charges]Iron', 0, 2, 3, 0)), + (34, ('[Missiles]Mjolnir', 1, 0, 0, 0)), + (35, ('[Missiles]Inferno', 0, 1, 0, 0)), + (36, ('[Missiles]Scourge', 0, 0, 1, 0)), + (37, ('[Missiles]Nova', 0, 0, 0, 1)), + (38, ('[Missiles][Structure] Standup Missile', 1, 1, 1, 1)), + (39, ('[Projectile Ammo][T2] Hail', 0, 0, 3.3, 12.1)), + (40, ('[Projectile Ammo][T2] Barrage', 0, 0, 5, 6)), + (41, ('[Projectile Ammo][T2] Quake', 0, 0, 5, 9)), + (42, ('[Projectile Ammo][T2] Tremor', 0, 0, 3, 5)), + (43, ('[Projectile Ammo]EMP', 9, 0, 1, 2)), + (44, ('[Projectile Ammo]Phased Plasma', 0, 10, 2, 0)), + (45, ('[Projectile Ammo]Fusion', 0, 0, 2, 10)), + (46, ('[Projectile Ammo]Depleted Uranium', 0, 3, 2, 3)), + (47, ('[Projectile Ammo]Titanium Sabot', 0, 0, 6, 2)), + (48, ('[Projectile Ammo]Proton', 3, 0, 2, 0)), + (49, ('[Projectile Ammo]Carbonized Lead', 0, 0, 4, 1)), + (50, ('[Projectile Ammo]Nuclear', 0, 0, 1, 4)), # Different sizes of plasma do different damage, the values here are # average of proportions across sizes - (-51, ('[Exotic Plasma][T2] Occult', 0, 55863, 0, 44137)), - (-52, ('[Exotic Plasma][T2] Mystic', 0, 66319, 0, 33681)), - (-53, ('[Exotic Plasma]Tetryon', 0, 69208, 0, 30792)), - (-54, ('[Exotic Plasma]Baryon', 0, 59737, 0, 40263)), - (-55, ('[Exotic Plasma]Meson', 0, 60519, 0, 39481)), - (-56, ('[NPC][Asteroid] Angel Cartel', 1838, 562, 2215, 3838)), - (-57, ('[NPC][Asteroid] Blood Raiders', 5067, 4214, 0, 0)), - (-58, ('[NPC][Asteroid] Guristas', 0, 1828, 7413, 0)), - (-59, ('[NPC][Asteroid] Rogue Drone', 394, 666, 1090, 1687)), - (-60, ('[NPC][Asteroid] Sanshas Nation', 5586, 4112, 0, 0)), - (-61, ('[NPC][Asteroid] Serpentis', 0, 5373, 4813, 0)), - (-62, ('[NPC][Deadspace] Angel Cartel', 369, 533, 1395, 3302)), - (-63, ('[NPC][Deadspace] Blood Raiders', 6040, 5052, 10, 15)), - (-64, ('[NPC][Deadspace] Guristas', 0, 1531, 9680, 0)), - (-65, ('[NPC][Deadspace] Rogue Drone', 276, 1071, 1069, 871)), - (-66, ('[NPC][Deadspace] Sanshas Nation', 3009, 2237, 0, 0)), - (-67, ('[NPC][Deadspace] Serpentis', 0, 3110, 1929, 0)), - (-68, ('[NPC][Mission] Amarr Empire', 4464, 3546, 97, 0)), - (-69, ('[NPC][Mission] Caldari State', 0, 2139, 4867, 0)), - (-70, ('[NPC][Mission] CONCORD', 336, 134, 212, 412)), - (-71, ('[NPC][Mission] Gallente Federation', 9, 3712, 2758, 0)), - (-72, ('[NPC][Mission] Khanid', 612, 483, 43, 6)), - (-73, ('[NPC][Mission] Minmatar Republic', 1024, 388, 1655, 4285)), - (-74, ('[NPC][Mission] Mordus Legion', 25, 262, 625, 0)), - (-75, ('[NPC][Mission] Thukker', 0, 52, 10, 79)), - (-76, ('[NPC][Burner] Cruor (Blood Raiders)', 90, 90, 0, 0)), - (-77, ('[NPC][Burner] Dramiel (Angel)', 55, 0, 20, 96)), - (-78, ('[NPC][Burner] Daredevil (Serpentis)', 0, 110, 154, 0)), - (-79, ('[NPC][Burner] Succubus (Sanshas Nation)', 135, 30, 0, 0)), - (-80, ('[NPC][Burner] Worm (Guristas)', 0, 0, 228, 0)), - (-81, ('[NPC][Burner] Enyo', 0, 147, 147, 0)), - (-82, ('[NPC][Burner] Hawk', 0, 0, 247, 0)), - (-83, ('[NPC][Burner] Jaguar', 36, 0, 50, 182)), - (-84, ('[NPC][Burner] Vengeance', 232, 0, 0, 0)), - (-85, ('[NPC][Burner] Ashimmu (Blood Raiders)', 260, 100, 0, 0)), - (-86, ('[NPC][Burner] Talos', 0, 413, 413, 0)), - (-87, ('[NPC][Burner] Sentinel', 0, 75, 0, 90)), - (-88, ('[NPC][Other] Sleepers', 1472, 1472, 1384, 1384)), - (-89, ('[NPC][Other] Sansha Incursion', 1682, 1347, 3678, 3678))]) + (51, ('[Exotic Plasma][T2] Occult', 0, 55863, 0, 44137)), + (52, ('[Exotic Plasma][T2] Mystic', 0, 66319, 0, 33681)), + (53, ('[Exotic Plasma]Tetryon', 0, 69208, 0, 30792)), + (54, ('[Exotic Plasma]Baryon', 0, 59737, 0, 40263)), + (55, ('[Exotic Plasma]Meson', 0, 60519, 0, 39481)), + (56, ('[NPC][Asteroid] Angel Cartel', 1838, 562, 2215, 3838)), + (57, ('[NPC][Asteroid] Blood Raiders', 5067, 4214, 0, 0)), + (58, ('[NPC][Asteroid] Guristas', 0, 1828, 7413, 0)), + (59, ('[NPC][Asteroid] Rogue Drone', 394, 666, 1090, 1687)), + (60, ('[NPC][Asteroid] Sanshas Nation', 5586, 4112, 0, 0)), + (61, ('[NPC][Asteroid] Serpentis', 0, 5373, 4813, 0)), + (62, ('[NPC][Deadspace] Angel Cartel', 369, 533, 1395, 3302)), + (63, ('[NPC][Deadspace] Blood Raiders', 6040, 5052, 10, 15)), + (64, ('[NPC][Deadspace] Guristas', 0, 1531, 9680, 0)), + (65, ('[NPC][Deadspace] Rogue Drone', 276, 1071, 1069, 871)), + (66, ('[NPC][Deadspace] Sanshas Nation', 3009, 2237, 0, 0)), + (67, ('[NPC][Deadspace] Serpentis', 0, 3110, 1929, 0)), + (68, ('[NPC][Mission] Amarr Empire', 4464, 3546, 97, 0)), + (69, ('[NPC][Mission] Caldari State', 0, 2139, 4867, 0)), + (70, ('[NPC][Mission] CONCORD', 336, 134, 212, 412)), + (71, ('[NPC][Mission] Gallente Federation', 9, 3712, 2758, 0)), + (72, ('[NPC][Mission] Khanid', 612, 483, 43, 6)), + (73, ('[NPC][Mission] Minmatar Republic', 1024, 388, 1655, 4285)), + (74, ('[NPC][Mission] Mordus Legion', 25, 262, 625, 0)), + (75, ('[NPC][Mission] Thukker', 0, 52, 10, 79)), + (76, ('[NPC][Burner] Cruor (Blood Raiders)', 90, 90, 0, 0)), + (77, ('[NPC][Burner] Dramiel (Angel)', 55, 0, 20, 96)), + (78, ('[NPC][Burner] Daredevil (Serpentis)', 0, 110, 154, 0)), + (79, ('[NPC][Burner] Succubus (Sanshas Nation)', 135, 30, 0, 0)), + (80, ('[NPC][Burner] Worm (Guristas)', 0, 0, 228, 0)), + (81, ('[NPC][Burner] Enyo', 0, 147, 147, 0)), + (82, ('[NPC][Burner] Hawk', 0, 0, 247, 0)), + (83, ('[NPC][Burner] Jaguar', 36, 0, 50, 182)), + (84, ('[NPC][Burner] Vengeance', 232, 0, 0, 0)), + (85, ('[NPC][Burner] Ashimmu (Blood Raiders)', 260, 100, 0, 0)), + (86, ('[NPC][Burner] Talos', 0, 413, 413, 0)), + (87, ('[NPC][Burner] Sentinel', 0, 75, 0, 90)), + (88, ('[NPC][Other] Sleepers', 1472, 1472, 1384, 1384)), + (89, ('[NPC][Other] Sansha Incursion', 1682, 1347, 3678, 3678))]) class DamagePattern: diff --git a/eos/saveddata/targetProfile.py b/eos/saveddata/targetProfile.py index d51348e58..5b3396bd6 100644 --- a/eos/saveddata/targetProfile.py +++ b/eos/saveddata/targetProfile.py @@ -19,6 +19,7 @@ import math import re +from collections import OrderedDict from logbook import Logger @@ -28,6 +29,60 @@ import eos.db pyfalog = Logger(__name__) +BUILTINS = OrderedDict([ + (1, ('Uniform (25%)', 0.25, 0.25, 0.25, 0.25)), + (2, ('Uniform (50%)', 0.50, 0.50, 0.50, 0.50)), + (3, ('Uniform (75%)', 0.75, 0.75, 0.75, 0.75)), + (4, ('Uniform (90%)', 0.90, 0.90, 0.90, 0.90)), + (5, ('[T1 Resist]Shield', 0.0, 0.20, 0.40, 0.50)), + (6, ('[T1 Resist]Armor', 0.50, 0.45, 0.25, 0.10)), + (7, ('[T1 Resist]Hull', 0.33, 0.33, 0.33, 0.33)), + (8, ('[T1 Resist]Shield (+T2 DCU)', 0.125, 0.30, 0.475, 0.562)), + (9, ('[T1 Resist]Armor (+T2 DCU)', 0.575, 0.532, 0.363, 0.235)), + (10, ('[T1 Resist]Hull (+T2 DCU)', 0.598, 0.598, 0.598, 0.598)), + (11, ('[T2 Resist]Amarr (Shield)', 0.0, 0.20, 0.70, 0.875)), + (12, ('[T2 Resist]Amarr (Armor)', 0.50, 0.35, 0.625, 0.80)), + (13, ('[T2 Resist]Caldari (Shield)', 0.20, 0.84, 0.76, 0.60)), + (14, ('[T2 Resist]Caldari (Armor)', 0.50, 0.8625, 0.625, 0.10)), + (15, ('[T2 Resist]Gallente (Shield)', 0.0, 0.60, 0.85, 0.50)), + (16, ('[T2 Resist]Gallente (Armor)', 0.50, 0.675, 0.8375, 0.10)), + (17, ('[T2 Resist]Minmatar (Shield)', 0.75, 0.60, 0.40, 0.50)), + (18, ('[T2 Resist]Minmatar (Armor)', 0.90, 0.675, 0.25, 0.10)), + (19, ('[NPC][Asteroid] Angel Cartel', 0.54, 0.42, 0.37, 0.32)), + (20, ('[NPC][Asteroid] Blood Raiders', 0.34, 0.39, 0.45, 0.52)), + (21, ('[NPC][Asteroid] Guristas', 0.55, 0.35, 0.3, 0.48)), + (22, ('[NPC][Asteroid] Rogue Drones', 0.35, 0.38, 0.44, 0.49)), + (23, ('[NPC][Asteroid] Sanshas Nation', 0.35, 0.4, 0.47, 0.53)), + (24, ('[NPC][Asteroid] Serpentis', 0.49, 0.38, 0.29, 0.51)), + (25, ('[NPC][Deadspace] Angel Cartel', 0.59, 0.48, 0.4, 0.32)), + (26, ('[NPC][Deadspace] Blood Raiders', 0.31, 0.39, 0.47, 0.56)), + (27, ('[NPC][Deadspace] Guristas', 0.57, 0.39, 0.31, 0.5)), + (28, ('[NPC][Deadspace] Rogue Drones', 0.42, 0.42, 0.47, 0.49)), + (29, ('[NPC][Deadspace] Sanshas Nation', 0.31, 0.39, 0.47, 0.56)), + (30, ('[NPC][Deadspace] Serpentis', 0.49, 0.38, 0.29, 0.56)), + (31, ('[NPC][Mission] Amarr Empire', 0.34, 0.38, 0.42, 0.46)), + (32, ('[NPC][Mission] Caldari State', 0.51, 0.38, 0.3, 0.51)), + (33, ('[NPC][Mission] CONCORD', 0.47, 0.46, 0.47, 0.47)), + (34, ('[NPC][Mission] Gallente Federation', 0.51, 0.38, 0.31, 0.52)), + (35, ('[NPC][Mission] Khanid', 0.51, 0.42, 0.36, 0.4)), + (36, ('[NPC][Mission] Minmatar Republic', 0.51, 0.46, 0.41, 0.35)), + (37, ('[NPC][Mission] Mordus Legion', 0.32, 0.48, 0.4, 0.62)), + (38, ('[NPC][Other] Sleeper', 0.61, 0.61, 0.61, 0.61)), + (39, ('[NPC][Other] Sansha Incursion', 0.65, 0.63, 0.64, 0.65)), + (40, ('[NPC][Burner] Cruor (Blood Raiders)', 0.8, 0.73, 0.69, 0.67)), + (41, ('[NPC][Burner] Dramiel (Angel)', 0.35, 0.48, 0.61, 0.68)), + (42, ('[NPC][Burner] Daredevil (Serpentis)', 0.69, 0.59, 0.59, 0.43)), + (43, ('[NPC][Burner] Succubus (Sanshas Nation)', 0.35, 0.48, 0.61, 0.68)), + (44, ('[NPC][Burner] Worm (Guristas)', 0.48, 0.58, 0.69, 0.74)), + (45, ('[NPC][Burner] Enyo', 0.58, 0.72, 0.86, 0.24)), + (46, ('[NPC][Burner] Hawk', 0.3, 0.86, 0.79, 0.65)), + (47, ('[NPC][Burner] Jaguar', 0.78, 0.65, 0.48, 0.56)), + (48, ('[NPC][Burner] Vengeance', 0.66, 0.56, 0.75, 0.86)), + (49, ('[NPC][Burner] Ashimmu (Blood Raiders)', 0.8, 0.76, 0.68, 0.7)), + (50, ('[NPC][Burner] Talos', 0.68, 0.59, 0.59, 0.43)), + (51, ('[NPC][Burner] Sentinel', 0.58, 0.45, 0.52, 0.66))]) + + class TargetProfile: # also determined import/export order - VERY IMPORTANT DAMAGE_TYPES = ("em", "thermal", "kinetic", "explosive")