i18n: annotate targetProfile.py, damagePattern.py

Also init PyfaApp earlier for targetProfile.py and damagePattern.py localization
This commit is contained in:
zhaoweny
2020-07-08 14:42:05 +08:00
parent ffbae4826d
commit d4c9423c77
3 changed files with 275 additions and 270 deletions

View File

@@ -20,123 +20,126 @@
import re
from collections import OrderedDict
import wx
from sqlalchemy.orm import reconstructor
import eos.db
_t = wx.GetTranslation
# Order is significant here - UI uses order as-is for built-in patterns
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, ('[Frequency Crystals]|[T2] Aurora', 5, 3, 0, 0)),
(-7, ('[Frequency Crystals]|[T2] Scorch', 9, 2, 0, 0)),
(-8, ('[Frequency Crystals]Radio', 5, 0, 0, 0)),
(-9, ('[Frequency Crystals]Microwave', 4, 2, 0, 0)),
(-10, ('[Frequency Crystals]Infrared', 5, 2, 0, 0)),
(-11, ('[Frequency Crystals]Standard', 5, 3, 0, 0)),
(-12, ('[Frequency Crystals]Ultraviolet', 6, 3, 0, 0)),
(-13, ('[Frequency Crystals]Xray', 6, 4, 0, 0)),
(-14, ('[Frequency Crystals]Gamma', 7, 4, 0, 0)),
(-15, ('[Frequency Crystals]Multifrequency', 7, 5, 0, 0)),
(-16, ('[Frequency Crystals]|[T2] Gleam', 7, 7, 0, 0)),
(-17, ('[Frequency Crystals]|[T2] Conflagration', 7.7, 7.7, 0, 0)),
(-1, (_t('Uniform'), 25, 25, 25, 25)),
(-2, (_t('[Generic]EM'), 1, 0, 0, 0)),
(-3, (_t('[Generic]Thermal'), 0, 1, 0, 0)),
(-4, (_t('[Generic]Kinetic'), 0, 0, 1, 0)),
(-5, (_t('[Generic]Explosive'), 0, 0, 0, 1)),
(-6, (_t('[Frequency Crystals]|[T2] Aurora'), 5, 3, 0, 0)),
(-7, (_t('[Frequency Crystals]|[T2] Scorch'), 9, 2, 0, 0)),
(-8, (_t('[Frequency Crystals]Radio'), 5, 0, 0, 0)),
(-9, (_t('[Frequency Crystals]Microwave'), 4, 2, 0, 0)),
(-10, (_t('[Frequency Crystals]Infrared'), 5, 2, 0, 0)),
(-11, (_t('[Frequency Crystals]Standard'), 5, 3, 0, 0)),
(-12, (_t('[Frequency Crystals]Ultraviolet'), 6, 3, 0, 0)),
(-13, (_t('[Frequency Crystals]Xray'), 6, 4, 0, 0)),
(-14, (_t('[Frequency Crystals]Gamma'), 7, 4, 0, 0)),
(-15, (_t('[Frequency Crystals]Multifrequency'), 7, 5, 0, 0)),
(-16, (_t('[Frequency Crystals]|[T2] Gleam'), 7, 7, 0, 0)),
(-17, (_t('[Frequency Crystals]|[T2] Conflagration'), 7.7, 7.7, 0, 0)),
# Different sizes of plasma do different damage ratios, the values here
# are average of ratios across sizes
(-18, ('[Exotic Plasma]|[T2] Mystic', 0, 66319, 0, 33681)),
(-19, ('[Exotic Plasma]Meson', 0, 60519, 0, 39481)),
(-20, ('[Exotic Plasma]Baryon', 0, 59737, 0, 40263)),
(-21, ('[Exotic Plasma]Tetryon', 0, 69208, 0, 30792)),
(-22, ('[Exotic Plasma]|[T2] Occult', 0, 55863, 0, 44137)),
(-23, ('[Hybrid Charges]|[T2] Spike', 0, 4, 4, 0)),
(-24, ('[Hybrid Charges]|[T2] Null', 0, 6, 5, 0)),
(-25, ('[Hybrid Charges]Iron', 0, 2, 3, 0)),
(-26, ('[Hybrid Charges]Tungsten', 0, 2, 4, 0)),
(-27, ('[Hybrid Charges]Iridium', 0, 3, 4, 0)),
(-28, ('[Hybrid Charges]Lead', 0, 3, 5, 0)),
(-29, ('[Hybrid Charges]Thorium', 0, 4, 5, 0)),
(-30, ('[Hybrid Charges]Uranium', 0, 4, 6, 0)),
(-31, ('[Hybrid Charges]Plutonium', 0, 5, 6, 0)),
(-32, ('[Hybrid Charges]Antimatter', 0, 5, 7, 0)),
(-33, ('[Hybrid Charges]|[T2] Javelin', 0, 8, 6, 0)),
(-34, ('[Hybrid Charges]|[T2] Void', 0, 7.7, 7.7, 0)),
(-35, ('[Projectile Ammo]|[T2] Tremor', 0, 0, 3, 5)),
(-36, ('[Projectile Ammo]|[T2] Barrage', 0, 0, 5, 6)),
(-37, ('[Projectile Ammo]Carbonized Lead', 0, 0, 4, 1)),
(-38, ('[Projectile Ammo]Nuclear', 0, 0, 1, 4)),
(-39, ('[Projectile Ammo]Proton', 3, 0, 2, 0)),
(-40, ('[Projectile Ammo]Depleted Uranium', 0, 3, 2, 3)),
(-41, ('[Projectile Ammo]Titanium Sabot', 0, 0, 6, 2)),
(-42, ('[Projectile Ammo]EMP', 9, 0, 1, 2)),
(-43, ('[Projectile Ammo]Phased Plasma', 0, 10, 2, 0)),
(-44, ('[Projectile Ammo]Fusion', 0, 0, 2, 10)),
(-45, ('[Projectile Ammo]|[T2] Quake', 0, 0, 5, 9)),
(-46, ('[Projectile Ammo]|[T2] Hail', 0, 0, 3.3, 12.1)),
(-47, ('[Missiles]Mjolnir', 1, 0, 0, 0)),
(-48, ('[Missiles]Inferno', 0, 1, 0, 0)),
(-49, ('[Missiles]Scourge', 0, 0, 1, 0)),
(-50, ('[Missiles]Nova', 0, 0, 0, 1)),
(-51, ('[Bombs]Electron Bomb', 6400, 0, 0, 0)),
(-52, ('[Bombs]Scorch Bomb', 0, 6400, 0, 0)),
(-53, ('[Bombs]Concussion Bomb', 0, 0, 6400, 0)),
(-54, ('[Bombs]Shrapnel Bomb', 0, 0, 0, 6400)),
(-18, (_t('[Exotic Plasma]|[T2] Mystic'), 0, 66319, 0, 33681)),
(-19, (_t('[Exotic Plasma]Meson'), 0, 60519, 0, 39481)),
(-20, (_t('[Exotic Plasma]Baryon'), 0, 59737, 0, 40263)),
(-21, (_t('[Exotic Plasma]Tetryon'), 0, 69208, 0, 30792)),
(-22, (_t('[Exotic Plasma]|[T2] Occult'), 0, 55863, 0, 44137)),
(-23, (_t('[Hybrid Charges]|[T2] Spike'), 0, 4, 4, 0)),
(-24, (_t('[Hybrid Charges]|[T2] Null'), 0, 6, 5, 0)),
(-25, (_t('[Hybrid Charges]Iron'), 0, 2, 3, 0)),
(-26, (_t('[Hybrid Charges]Tungsten'), 0, 2, 4, 0)),
(-27, (_t('[Hybrid Charges]Iridium'), 0, 3, 4, 0)),
(-28, (_t('[Hybrid Charges]Lead'), 0, 3, 5, 0)),
(-29, (_t('[Hybrid Charges]Thorium'), 0, 4, 5, 0)),
(-30, (_t('[Hybrid Charges]Uranium'), 0, 4, 6, 0)),
(-31, (_t('[Hybrid Charges]Plutonium'), 0, 5, 6, 0)),
(-32, (_t('[Hybrid Charges]Antimatter'), 0, 5, 7, 0)),
(-33, (_t('[Hybrid Charges]|[T2] Javelin'), 0, 8, 6, 0)),
(-34, (_t('[Hybrid Charges]|[T2] Void'), 0, 7.7, 7.7, 0)),
(-35, (_t('[Projectile Ammo]|[T2] Tremor'), 0, 0, 3, 5)),
(-36, (_t('[Projectile Ammo]|[T2] Barrage'), 0, 0, 5, 6)),
(-37, (_t('[Projectile Ammo]Carbonized Lead'), 0, 0, 4, 1)),
(-38, (_t('[Projectile Ammo]Nuclear'), 0, 0, 1, 4)),
(-39, (_t('[Projectile Ammo]Proton'), 3, 0, 2, 0)),
(-40, (_t('[Projectile Ammo]Depleted Uranium'), 0, 3, 2, 3)),
(-41, (_t('[Projectile Ammo]Titanium Sabot'), 0, 0, 6, 2)),
(-42, (_t('[Projectile Ammo]EMP'), 9, 0, 1, 2)),
(-43, (_t('[Projectile Ammo]Phased Plasma'), 0, 10, 2, 0)),
(-44, (_t('[Projectile Ammo]Fusion'), 0, 0, 2, 10)),
(-45, (_t('[Projectile Ammo]|[T2] Quake'), 0, 0, 5, 9)),
(-46, (_t('[Projectile Ammo]|[T2] Hail'), 0, 0, 3.3, 12.1)),
(-47, (_t('[Missiles]Mjolnir'), 1, 0, 0, 0)),
(-48, (_t('[Missiles]Inferno'), 0, 1, 0, 0)),
(-49, (_t('[Missiles]Scourge'), 0, 0, 1, 0)),
(-50, (_t('[Missiles]Nova'), 0, 0, 0, 1)),
(-51, (_t('[Bombs]Electron Bomb'), 6400, 0, 0, 0)),
(-52, (_t('[Bombs]Scorch Bomb'), 0, 6400, 0, 0)),
(-53, (_t('[Bombs]Concussion Bomb'), 0, 0, 6400, 0)),
(-54, (_t('[Bombs]Shrapnel Bomb'), 0, 0, 0, 6400)),
# Source: ticket #2067
(-55, ('[NPC][Abyssal]All', 130, 396, 258, 216)),
(-56, ('[NPC][Abyssal]Drifter', 250, 250, 250, 250)),
(-57, ('[NPC][Abyssal]Drones', 250, 250, 250, 250)),
(-58, ('[NPC][Abyssal]Overmind', 0, 408, 592, 0)),
(-59, ('[NPC][Abyssal]Seeker', 406, 406, 94, 94)),
(-60, ('[NPC][Abyssal]Sleeper', 313, 313, 187, 187)),
(-61, ('[NPC][Abyssal]Triglavian', 0, 610, 0, 390)),
(-62, ('[NPC][Asteroid]Angel Cartel', 1838, 562, 2215, 3838)),
(-63, ('[NPC][Asteroid]Blood Raiders', 5067, 4214, 0, 0)),
(-64, ('[NPC][Asteroid]Guristas', 0, 1828, 7413, 0)),
(-65, ('[NPC][Asteroid]Rogue Drone', 394, 666, 1090, 1687)),
(-66, ('[NPC][Asteroid]Sanshas Nation', 5586, 4112, 0, 0)),
(-67, ('[NPC][Asteroid]Serpentis', 0, 5373, 4813, 0)),
(-68, ('[NPC][Burner]Cruor (Blood Raiders)', 90, 90, 0, 0)),
(-69, ('[NPC][Burner]Dramiel (Angel)', 55, 0, 20, 96)),
(-70, ('[NPC][Burner]Daredevil (Serpentis)', 0, 110, 154, 0)),
(-71, ('[NPC][Burner]Succubus (Sanshas Nation)', 135, 30, 0, 0)),
(-72, ('[NPC][Burner]Worm (Guristas)', 0, 0, 228, 0)),
(-73, ('[NPC][Burner]Enyo', 0, 147, 147, 0)),
(-74, ('[NPC][Burner]Hawk', 0, 0, 247, 0)),
(-75, ('[NPC][Burner]Jaguar', 36, 0, 50, 182)),
(-76, ('[NPC][Burner]Vengeance', 232, 0, 0, 0)),
(-77, ('[NPC][Burner]Ashimmu (Blood Raiders)', 260, 100, 0, 0)),
(-78, ('[NPC][Burner]Talos', 0, 413, 413, 0)),
(-79, ('[NPC][Burner]Sentinel', 0, 75, 0, 90)),
(-80, ('[NPC][Deadspace]Angel Cartel', 369, 533, 1395, 3302)),
(-81, ('[NPC][Deadspace]Blood Raiders', 6040, 5052, 10, 15)),
(-82, ('[NPC][Deadspace]Guristas', 0, 1531, 9680, 0)),
(-83, ('[NPC][Deadspace]Rogue Drone', 276, 1071, 1069, 871)),
(-84, ('[NPC][Deadspace]Sanshas Nation', 3009, 2237, 0, 0)),
(-85, ('[NPC][Deadspace]Serpentis', 0, 3110, 1929, 0)),
(-55, (_t('[NPC][Abyssal]All'), 130, 396, 258, 216)),
(-56, (_t('[NPC][Abyssal]Drifter'), 250, 250, 250, 250)),
(-57, (_t('[NPC][Abyssal]Drones'), 250, 250, 250, 250)),
(-58, (_t('[NPC][Abyssal]Overmind'), 0, 408, 592, 0)),
(-59, (_t('[NPC][Abyssal]Seeker'), 406, 406, 94, 94)),
(-60, (_t('[NPC][Abyssal]Sleeper'), 313, 313, 187, 187)),
(-61, (_t('[NPC][Abyssal]Triglavian'), 0, 610, 0, 390)),
(-62, (_t('[NPC][Asteroid]Angel Cartel'), 1838, 562, 2215, 3838)),
(-63, (_t('[NPC][Asteroid]Blood Raiders'), 5067, 4214, 0, 0)),
(-64, (_t('[NPC][Asteroid]Guristas'), 0, 1828, 7413, 0)),
(-65, (_t('[NPC][Asteroid]Rogue Drone'), 394, 666, 1090, 1687)),
(-66, (_t('[NPC][Asteroid]Sanshas Nation'), 5586, 4112, 0, 0)),
(-67, (_t('[NPC][Asteroid]Serpentis'), 0, 5373, 4813, 0)),
(-68, (_t('[NPC][Burner]Cruor (Blood Raiders)'), 90, 90, 0, 0)),
(-69, (_t('[NPC][Burner]Dramiel (Angel)'), 55, 0, 20, 96)),
(-70, (_t('[NPC][Burner]Daredevil (Serpentis)'), 0, 110, 154, 0)),
(-71, (_t('[NPC][Burner]Succubus (Sanshas Nation)'), 135, 30, 0, 0)),
(-72, (_t('[NPC][Burner]Worm (Guristas)'), 0, 0, 228, 0)),
(-73, (_t('[NPC][Burner]Enyo'), 0, 147, 147, 0)),
(-74, (_t('[NPC][Burner]Hawk'), 0, 0, 247, 0)),
(-75, (_t('[NPC][Burner]Jaguar'), 36, 0, 50, 182)),
(-76, (_t('[NPC][Burner]Vengeance'), 232, 0, 0, 0)),
(-77, (_t('[NPC][Burner]Ashimmu (Blood Raiders)'), 260, 100, 0, 0)),
(-78, (_t('[NPC][Burner]Talos'), 0, 413, 413, 0)),
(-79, (_t('[NPC][Burner]Sentinel'), 0, 75, 0, 90)),
(-80, (_t('[NPC][Deadspace]Angel Cartel'), 369, 533, 1395, 3302)),
(-81, (_t('[NPC][Deadspace]Blood Raiders'), 6040, 5052, 10, 15)),
(-82, (_t('[NPC][Deadspace]Guristas'), 0, 1531, 9680, 0)),
(-83, (_t('[NPC][Deadspace]Rogue Drone'), 276, 1071, 1069, 871)),
(-84, (_t('[NPC][Deadspace]Sanshas Nation'), 3009, 2237, 0, 0)),
(-85, (_t('[NPC][Deadspace]Serpentis'), 0, 3110, 1929, 0)),
# Source: ticket #2067
(-86, ('[NPC][Invasion][Invading Precursor Entities]Dread', 0, 417, 0, 583)),
(-87, ('[NPC][Invasion][Invading Precursor Entities]Normal Subcaps', 0, 610, 0, 390)),
(-88, ('[NPC][Invasion][Invading Precursor Entities]Subcaps w/missiles 0% spool up', 367, 155, 367, 112)),
(-89, ('[NPC][Invasion][Invading Precursor Entities]Subcaps w/missiles 50% spool up', 291, 243, 291, 175)),
(-90, ('[NPC][Invasion][Invading Precursor Entities]Subcaps w/missiles 100% spool up', 241, 301, 241, 217)),
(-91, ('[NPC][Invasion][Retaliating Amarr Entities]Dread/Subcaps', 583, 417, 0, 0)),
(-92, ('[NPC][Invasion][Retaliating Caldari Entities]Dread', 1000, 0, 0, 0)),
(-93, ('[NPC][Invasion][Retaliating Caldari Entities]Subcaps', 511, 21, 29, 440)),
(-94, ('[NPC][Invasion][Retaliating Gallente Entities]Dread/Subcaps', 0, 417, 583, 0)),
(-95, ('[NPC][Invasion][Retaliating Minmatar Entities]Dread', 0, 0, 583, 417)),
(-96, ('[NPC][Invasion][Retaliating Minmatar Entities]Subcaps', 302, 136, 328, 234)),
(-97, ('[NPC][Mission]Amarr Empire', 4464, 3546, 97, 0)),
(-98, ('[NPC][Mission]Caldari State', 0, 2139, 4867, 0)),
(-99, ('[NPC][Mission]CONCORD', 336, 134, 212, 412)),
(-100, ('[NPC][Mission]Gallente Federation', 9, 3712, 2758, 0)),
(-101, ('[NPC][Mission]Khanid', 612, 483, 43, 6)),
(-102, ('[NPC][Mission]Minmatar Republic', 1024, 388, 1655, 4285)),
(-103, ('[NPC][Mission]Mordus Legion', 25, 262, 625, 0)),
(-104, ('[NPC][Mission]Thukker', 0, 52, 10, 79)),
(-105, ('[NPC]Sansha Incursion', 1682, 1347, 3678, 3678)),
(-106, ('[NPC]Sleepers', 1472, 1472, 1384, 1384))])
(-86, (_t('[NPC][Invasion][Invading Precursor Entities]Dread'), 0, 417, 0, 583)),
(-87, (_t('[NPC][Invasion][Invading Precursor Entities]Normal Subcaps'), 0, 610, 0, 390)),
(-88, (_t('[NPC][Invasion][Invading Precursor Entities]Subcaps w/missiles 0% spool up'), 367, 155, 367, 112)),
(-89, (_t('[NPC][Invasion][Invading Precursor Entities]Subcaps w/missiles 50% spool up'), 291, 243, 291, 175)),
(-90, (_t('[NPC][Invasion][Invading Precursor Entities]Subcaps w/missiles 100% spool up'), 241, 301, 241, 217)),
(-91, (_t('[NPC][Invasion][Retaliating Amarr Entities]Dread/Subcaps'), 583, 417, 0, 0)),
(-92, (_t('[NPC][Invasion][Retaliating Caldari Entities]Dread'), 1000, 0, 0, 0)),
(-93, (_t('[NPC][Invasion][Retaliating Caldari Entities]Subcaps'), 511, 21, 29, 440)),
(-94, (_t('[NPC][Invasion][Retaliating Gallente Entities]Dread/Subcaps'), 0, 417, 583, 0)),
(-95, (_t('[NPC][Invasion][Retaliating Minmatar Entities]Dread'), 0, 0, 583, 417)),
(-96, (_t('[NPC][Invasion][Retaliating Minmatar Entities]Subcaps'), 302, 136, 328, 234)),
(-97, (_t('[NPC][Mission]Amarr Empire'), 4464, 3546, 97, 0)),
(-98, (_t('[NPC][Mission]Caldari State'), 0, 2139, 4867, 0)),
(-99, (_t('[NPC][Mission]CONCORD'), 336, 134, 212, 412)),
(-100, (_t('[NPC][Mission]Gallente Federation'), 9, 3712, 2758, 0)),
(-101, (_t('[NPC][Mission]Khanid'), 612, 483, 43, 6)),
(-102, (_t('[NPC][Mission]Minmatar Republic'), 1024, 388, 1655, 4285)),
(-103, (_t('[NPC][Mission]Mordus Legion'), 25, 262, 625, 0)),
(-104, (_t('[NPC][Mission]Thukker'), 0, 52, 10, 79)),
(-105, (_t('[NPC]Sansha Incursion'), 1682, 1347, 3678, 3678)),
(-106, (_t('[NPC]Sleepers'), 1472, 1472, 1384, 1384))])
class DamagePattern:

View File

@@ -23,167 +23,166 @@ from collections import OrderedDict
from logbook import Logger
from sqlalchemy.orm import reconstructor
import wx
import eos.db
pyfalog = Logger(__name__)
_t = wx.GetTranslation
BUILTINS = OrderedDict([
# 0 is taken by ideal target profile, composed manually in one of TargetProfile methods
(-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)),
(-1, (_t('Uniform (25%)'), 0.25, 0.25, 0.25, 0.25)),
(-2, (_t('Uniform (50%)'), 0.50, 0.50, 0.50, 0.50)),
(-3, (_t('Uniform (75%)'), 0.75, 0.75, 0.75, 0.75)),
(-4, (_t('Uniform (90%)'), 0.90, 0.90, 0.90, 0.90)),
(-5, (_t('[T1 Resist]Shield'), 0.0, 0.20, 0.40, 0.50)),
(-6, (_t('[T1 Resist]Armor'), 0.50, 0.45, 0.25, 0.10)),
(-7, (_t('[T1 Resist]Hull'), 0.33, 0.33, 0.33, 0.33)),
(-8, (_t('[T1 Resist]Shield (+T2 DCU)'), 0.125, 0.30, 0.475, 0.562)),
(-9, (_t('[T1 Resist]Armor (+T2 DCU)'), 0.575, 0.532, 0.363, 0.235)),
(-10, (_t('[T1 Resist]Hull (+T2 DCU)'), 0.598, 0.598, 0.598, 0.598)),
(-11, (_t('[T2 Resist]Amarr (Shield)'), 0.0, 0.20, 0.70, 0.875)),
(-12, (_t('[T2 Resist]Amarr (Armor)'), 0.50, 0.35, 0.625, 0.80)),
(-13, (_t('[T2 Resist]Caldari (Shield)'), 0.20, 0.84, 0.76, 0.60)),
(-14, (_t('[T2 Resist]Caldari (Armor)'), 0.50, 0.8625, 0.625, 0.10)),
(-15, (_t('[T2 Resist]Gallente (Shield)'), 0.0, 0.60, 0.85, 0.50)),
(-16, (_t('[T2 Resist]Gallente (Armor)'), 0.50, 0.675, 0.8375, 0.10)),
(-17, (_t('[T2 Resist]Minmatar (Shield)'), 0.75, 0.60, 0.40, 0.50)),
(-18, (_t('[T2 Resist]Minmatar (Armor)'), 0.90, 0.675, 0.25, 0.10)),
(-19, (_t('[NPC][Asteroid]Angel Cartel'), 0.54, 0.42, 0.37, 0.32)),
(-20, (_t('[NPC][Asteroid]Blood Raiders'), 0.34, 0.39, 0.45, 0.52)),
(-21, (_t('[NPC][Asteroid]Guristas'), 0.55, 0.35, 0.3, 0.48)),
(-22, (_t('[NPC][Asteroid]Rogue Drones'), 0.35, 0.38, 0.44, 0.49)),
(-23, (_t('[NPC][Asteroid]Sanshas Nation'), 0.35, 0.4, 0.47, 0.53)),
(-24, (_t('[NPC][Asteroid]Serpentis'), 0.49, 0.38, 0.29, 0.51)),
(-25, (_t('[NPC][Deadspace]Angel Cartel'), 0.59, 0.48, 0.4, 0.32)),
(-26, (_t('[NPC][Deadspace]Blood Raiders'), 0.31, 0.39, 0.47, 0.56)),
(-27, (_t('[NPC][Deadspace]Guristas'), 0.57, 0.39, 0.31, 0.5)),
(-28, (_t('[NPC][Deadspace]Rogue Drones'), 0.42, 0.42, 0.47, 0.49)),
(-29, (_t('[NPC][Deadspace]Sanshas Nation'), 0.31, 0.39, 0.47, 0.56)),
(-30, (_t('[NPC][Deadspace]Serpentis'), 0.49, 0.38, 0.29, 0.56)),
(-31, (_t('[NPC][Mission]Amarr Empire'), 0.34, 0.38, 0.42, 0.46)),
(-32, (_t('[NPC][Mission]Caldari State'), 0.51, 0.38, 0.3, 0.51)),
(-33, (_t('[NPC][Mission]CONCORD'), 0.47, 0.46, 0.47, 0.47)),
(-34, (_t('[NPC][Mission]Gallente Federation'), 0.51, 0.38, 0.31, 0.52)),
(-35, (_t('[NPC][Mission]Khanid'), 0.51, 0.42, 0.36, 0.4)),
(-36, (_t('[NPC][Mission]Minmatar Republic'), 0.51, 0.46, 0.41, 0.35)),
(-37, (_t('[NPC][Mission]Mordus Legion'), 0.32, 0.48, 0.4, 0.62)),
(-38, (_t('[NPC][Other]Sleeper'), 0.61, 0.61, 0.61, 0.61)),
(-39, (_t('[NPC][Other]Sansha Incursion'), 0.65, 0.63, 0.64, 0.65)),
(-40, (_t('[NPC][Burner]Cruor (Blood Raiders)'), 0.8, 0.73, 0.69, 0.67)),
(-41, (_t('[NPC][Burner]Dramiel (Angel)'), 0.35, 0.48, 0.61, 0.68)),
(-42, (_t('[NPC][Burner]Daredevil (Serpentis)'), 0.69, 0.59, 0.59, 0.43)),
(-43, (_t('[NPC][Burner]Succubus (Sanshas Nation)'), 0.35, 0.48, 0.61, 0.68)),
(-44, (_t('[NPC][Burner]Worm (Guristas)'), 0.48, 0.58, 0.69, 0.74)),
(-45, (_t('[NPC][Burner]Enyo'), 0.58, 0.72, 0.86, 0.24)),
(-46, (_t('[NPC][Burner]Hawk'), 0.3, 0.86, 0.79, 0.65)),
(-47, (_t('[NPC][Burner]Jaguar'), 0.78, 0.65, 0.48, 0.56)),
(-48, (_t('[NPC][Burner]Vengeance'), 0.66, 0.56, 0.75, 0.86)),
(-49, (_t('[NPC][Burner]Ashimmu (Blood Raiders)'), 0.8, 0.76, 0.68, 0.7)),
(-50, (_t('[NPC][Burner]Talos'), 0.68, 0.59, 0.59, 0.43)),
(-51, (_t('[NPC][Burner]Sentinel'), 0.58, 0.45, 0.52, 0.66)),
# Source: ticket #2067
(-52, ('[NPC][Invasion]Invading Precursor Entities', 0.422, 0.367, 0.453, 0.411)),
(-53, ('[NPC][Invasion]Retaliating Amarr Entities', 0.360, 0.310, 0.441, 0.602)),
(-54, ('[NPC][Invasion]Retaliating Caldari Entities', 0.287, 0.610, 0.487, 0.401)),
(-55, ('[NPC][Invasion]Retaliating Gallente Entities', 0.383, 0.414, 0.578, 0.513)),
(-56, ('[NPC][Invasion]Retaliating Minmatar Entities', 0.620, 0.422, 0.355, 0.399)),
(-57, ('[NPC][Abyssal][Dark Matter All Tiers]Drones', 0.439, 0.522, 0.529, 0.435)),
(-58, ('[NPC][Abyssal][Dark Matter All Tiers]Overmind', 0.626, 0.576, 0.612, 0.624)),
(-59, ('[NPC][Abyssal][Dark Matter All Tiers]Seeker', 0.082, 0.082, 0.082, 0.082)),
(-60, ('[NPC][Abyssal][Dark Matter All Tiers]Triglavian', 0.477, 0.401, 0.449, 0.37)),
(-61, ('[NPC][Abyssal][Dark Matter All Tiers]Drifter', 0.403, 0.403, 0.403, 0.403)),
(-62, ('[NPC][Abyssal][Dark Matter All Tiers]Sleeper', 0.435, 0.435, 0.435, 0.435)),
(-63, ('[NPC][Abyssal][Dark Matter All Tiers]All', 0.507, 0.477, 0.502, 0.493)),
(-64, ('[NPC][Abyssal][Electrical T1/T2]Drones', 0.323, 0.522, 0.529, 0.435)),
(-65, ('[NPC][Abyssal][Electrical T1/T2]Overmind', 0.521, 0.576, 0.612, 0.624)),
(-66, ('[NPC][Abyssal][Electrical T1/T2]Seeker', 0, 0.082, 0.082, 0.082)),
(-67, ('[NPC][Abyssal][Electrical T1/T2]Triglavian', 0.333, 0.401, 0.449, 0.37)),
(-68, ('[NPC][Abyssal][Electrical T1/T2]Drifter', 0.267, 0.403, 0.403, 0.403)),
(-69, ('[NPC][Abyssal][Electrical T1/T2]Sleeper', 0.329, 0.435, 0.435, 0.435)),
(-70, ('[NPC][Abyssal][Electrical T1/T2]All', 0.385, 0.477, 0.502, 0.493)),
(-71, ('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Drones', 0.255, 0.522, 0.529, 0.435)),
(-72, ('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Overmind', 0.457, 0.576, 0.612, 0.624)),
(-73, ('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Seeker', 0, 0.082, 0.082, 0.082)),
(-74, ('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Triglavian', 0.241, 0.401, 0.449, 0.37)),
(-75, ('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Drifter', 0.184, 0.403, 0.403, 0.403)),
(-76, ('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Sleeper', 0.268, 0.435, 0.435, 0.435)),
(-77, ('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]All', 0.313, 0.477, 0.502, 0.493)),
(-78, ('[NPC][Abyssal][Electrical T4/T5]Drones', 0.193, 0.522, 0.529, 0.435)),
(-79, ('[NPC][Abyssal][Electrical T4/T5]Overmind', 0.398, 0.576, 0.612, 0.624)),
(-80, ('[NPC][Abyssal][Electrical T4/T5]Seeker', 0, 0.082, 0.082, 0.082)),
(-81, ('[NPC][Abyssal][Electrical T4/T5]Triglavian', 0.183, 0.401, 0.449, 0.37)),
(-82, ('[NPC][Abyssal][Electrical T4/T5]Drifter', 0.107, 0.403, 0.403, 0.403)),
(-83, ('[NPC][Abyssal][Electrical T4/T5]Sleeper', 0.215, 0.435, 0.435, 0.435)),
(-84, ('[NPC][Abyssal][Electrical T4/T5]All', 0.25, 0.477, 0.502, 0.493)),
(-85, ('[NPC][Abyssal][Firestorm T1/T2]Drones', 0.461, 0.425, 0.541, 0.443)),
(-86, ('[NPC][Abyssal][Firestorm T1/T2]Overmind', 0.65, 0.469, 0.625, 0.633)),
(-87, ('[NPC][Abyssal][Firestorm T1/T2]Seeker', 0.084, 0, 0.084, 0.084)),
(-88, ('[NPC][Abyssal][Firestorm T1/T2]Triglavian', 0.534, 0.266, 0.484, 0.366)),
(-89, ('[NPC][Abyssal][Firestorm T1/T2]Drifter', 0.422, 0.282, 0.422, 0.422)),
(-90, ('[NPC][Abyssal][Firestorm T1/T2]Sleeper', 0.512, 0.402, 0.512, 0.512)),
(-91, ('[NPC][Abyssal][Firestorm T1/T2]All', 0.541, 0.365, 0.524, 0.504)),
(-92, ('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Drones', 0.461, 0.36, 0.541, 0.443)),
(-93, ('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Overmind', 0.65, 0.391, 0.625, 0.633)),
(-94, ('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Seeker', 0.084, 0, 0.084, 0.084)),
(-95, ('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Triglavian', 0.534, 0.161, 0.484, 0.366)),
(-96, ('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Drifter', 0.422, 0.196, 0.422, 0.422)),
(-97, ('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Sleeper', 0.512, 0.337, 0.512, 0.512)),
(-98, ('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]All', 0.541, 0.284, 0.524, 0.504)),
(-99, ('[NPC][Abyssal][Firestorm T4/T5]Drones', 0.461, 0.305, 0.541, 0.443)),
(-100, ('[NPC][Abyssal][Firestorm T4/T5]Overmind', 0.65, 0.323, 0.625, 0.633)),
(-101, ('[NPC][Abyssal][Firestorm T4/T5]Seeker', 0.084, 0, 0.084, 0.084)),
(-102, ('[NPC][Abyssal][Firestorm T4/T5]Triglavian', 0.534, 0.082, 0.484, 0.366)),
(-103, ('[NPC][Abyssal][Firestorm T4/T5]Drifter', 0.422, 0.114, 0.422, 0.422)),
(-104, ('[NPC][Abyssal][Firestorm T4/T5]Sleeper', 0.512, 0.276, 0.512, 0.512)),
(-105, ('[NPC][Abyssal][Firestorm T4/T5]All', 0.541, 0.214, 0.524, 0.504)),
(-106, ('[NPC][Abyssal][Exotic T1/T2]Drones', 0.439, 0.522, 0.417, 0.435)),
(-107, ('[NPC][Abyssal][Exotic T1/T2]Overmind', 0.626, 0.576, 0.496, 0.624)),
(-108, ('[NPC][Abyssal][Exotic T1/T2]Seeker', 0.082, 0.082, 0, 0.082)),
(-109, ('[NPC][Abyssal][Exotic T1/T2]Triglavian', 0.477, 0.401, 0.284, 0.37)),
(-110, ('[NPC][Abyssal][Exotic T1/T2]Drifter', 0.403, 0.403, 0.267, 0.403)),
(-111, ('[NPC][Abyssal][Exotic T1/T2]Sleeper', 0.435, 0.435, 0.329, 0.435)),
(-112, ('[NPC][Abyssal][Exotic T1/T2]All', 0.507, 0.477, 0.373, 0.493)),
(-113, ('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Drones', 0.439, 0.522, 0.351, 0.435)),
(-114, ('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Overmind', 0.626, 0.576, 0.419, 0.624)),
(-115, ('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Seeker', 0.082, 0.082, 0, 0.082)),
(-116, ('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Triglavian', 0.477, 0.401, 0.176, 0.37)),
(-117, ('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Drifter', 0.403, 0.403, 0.184, 0.403)),
(-118, ('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Sleeper', 0.435, 0.435, 0.268, 0.435)),
(-119, ('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]All', 0.507, 0.477, 0.293, 0.493)),
(-120, ('[NPC][Abyssal][Exotic T4/T5]Drones', 0.439, 0.522, 0.293, 0.435)),
(-121, ('[NPC][Abyssal][Exotic T4/T5]Overmind', 0.626, 0.576, 0.344, 0.624)),
(-122, ('[NPC][Abyssal][Exotic T4/T5]Seeker', 0.082, 0.082, 0, 0.082)),
(-123, ('[NPC][Abyssal][Exotic T4/T5]Triglavian', 0.477, 0.401, 0.107, 0.37)),
(-124, ('[NPC][Abyssal][Exotic T4/T5]Drifter', 0.403, 0.403, 0.107, 0.403)),
(-125, ('[NPC][Abyssal][Exotic T4/T5]Sleeper', 0.435, 0.435, 0.215, 0.435)),
(-126, ('[NPC][Abyssal][Exotic T4/T5]All', 0.507, 0.477, 0.223, 0.493)),
(-127, ('[NPC][Abyssal][Gamma T1/T2]Drones', 0.449, 0.54, 0.549, 0.336)),
(-128, ('[NPC][Abyssal][Gamma T1/T2]Overmind', 0.6, 0.557, 0.601, 0.504)),
(-129, ('[NPC][Abyssal][Gamma T1/T2]Seeker', 0.085, 0.085, 0.085, 0)),
(-130, ('[NPC][Abyssal][Gamma T1/T2]Triglavian', 0.463, 0.392, 0.447, 0.193)),
(-131, ('[NPC][Abyssal][Gamma T1/T2]Drifter', 0.428, 0.428, 0.428, 0.287)),
(-132, ('[NPC][Abyssal][Gamma T1/T2]Sleeper', 0.435, 0.435, 0.435, 0.329)),
(-133, ('[NPC][Abyssal][Gamma T1/T2]All', 0.493, 0.472, 0.5, 0.362)),
(-134, ('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Drones', 0.449, 0.54, 0.549, 0.264)),
(-135, ('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Overmind', 0.6, 0.557, 0.601, 0.428)),
(-136, ('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Seeker', 0.085, 0.085, 0.085, 0)),
(-137, ('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Triglavian', 0.463, 0.392, 0.447, 0.071)),
(-138, ('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Drifter', 0.428, 0.428, 0.428, 0.2)),
(-139, ('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Sleeper', 0.435, 0.435, 0.435, 0.268)),
(-140, ('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]All', 0.493, 0.472, 0.5, 0.28)),
(-141, ('[NPC][Abyssal][Gamma T4/T5]Drones', 0.449, 0.54, 0.549, 0.197)),
(-142, ('[NPC][Abyssal][Gamma T4/T5]Overmind', 0.6, 0.557, 0.601, 0.356)),
(-143, ('[NPC][Abyssal][Gamma T4/T5]Seeker', 0.085, 0.085, 0.085, 0)),
(-144, ('[NPC][Abyssal][Gamma T4/T5]Triglavian', 0.463, 0.392, 0.447, 0.029)),
(-145, ('[NPC][Abyssal][Gamma T4/T5]Drifter', 0.428, 0.428, 0.428, 0.117)),
(-146, ('[NPC][Abyssal][Gamma T4/T5]Sleeper', 0.435, 0.435, 0.435, 0.215)),
(-147, ('[NPC][Abyssal][Gamma T4/T5]All', 0.493, 0.472, 0.5, 0.21))])
(-52, (_t('[NPC][Invasion]Invading Precursor Entities'), 0.422, 0.367, 0.453, 0.411)),
(-53, (_t('[NPC][Invasion]Retaliating Amarr Entities'), 0.360, 0.310, 0.441, 0.602)),
(-54, (_t('[NPC][Invasion]Retaliating Caldari Entities'), 0.287, 0.610, 0.487, 0.401)),
(-55, (_t('[NPC][Invasion]Retaliating Gallente Entities'), 0.383, 0.414, 0.578, 0.513)),
(-56, (_t('[NPC][Invasion]Retaliating Minmatar Entities'), 0.620, 0.422, 0.355, 0.399)),
(-57, (_t('[NPC][Abyssal][Dark Matter All Tiers]Drones'), 0.439, 0.522, 0.529, 0.435)),
(-58, (_t('[NPC][Abyssal][Dark Matter All Tiers]Overmind'), 0.626, 0.576, 0.612, 0.624)),
(-59, (_t('[NPC][Abyssal][Dark Matter All Tiers]Seeker'), 0.082, 0.082, 0.082, 0.082)),
(-60, (_t('[NPC][Abyssal][Dark Matter All Tiers]Triglavian'), 0.477, 0.401, 0.449, 0.37)),
(-61, (_t('[NPC][Abyssal][Dark Matter All Tiers]Drifter'), 0.403, 0.403, 0.403, 0.403)),
(-62, (_t('[NPC][Abyssal][Dark Matter All Tiers]Sleeper'), 0.435, 0.435, 0.435, 0.435)),
(-63, (_t('[NPC][Abyssal][Dark Matter All Tiers]All'), 0.507, 0.477, 0.502, 0.493)),
(-64, (_t('[NPC][Abyssal][Electrical T1/T2]Drones'), 0.323, 0.522, 0.529, 0.435)),
(-65, (_t('[NPC][Abyssal][Electrical T1/T2]Overmind'), 0.521, 0.576, 0.612, 0.624)),
(-66, (_t('[NPC][Abyssal][Electrical T1/T2]Seeker'), 0, 0.082, 0.082, 0.082)),
(-67, (_t('[NPC][Abyssal][Electrical T1/T2]Triglavian'), 0.333, 0.401, 0.449, 0.37)),
(-68, (_t('[NPC][Abyssal][Electrical T1/T2]Drifter'), 0.267, 0.403, 0.403, 0.403)),
(-69, (_t('[NPC][Abyssal][Electrical T1/T2]Sleeper'), 0.329, 0.435, 0.435, 0.435)),
(-70, (_t('[NPC][Abyssal][Electrical T1/T2]All'), 0.385, 0.477, 0.502, 0.493)),
(-71, (_t('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Drones'), 0.255, 0.522, 0.529, 0.435)),
(-72, (_t('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Overmind'), 0.457, 0.576, 0.612, 0.624)),
(-73, (_t('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Seeker'), 0, 0.082, 0.082, 0.082)),
(-74, (_t('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Triglavian'), 0.241, 0.401, 0.449, 0.37)),
(-75, (_t('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Drifter'), 0.184, 0.403, 0.403, 0.403)),
(-76, (_t('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]Sleeper'), 0.268, 0.435, 0.435, 0.435)),
(-77, (_t('[NPC][Abyssal][Electrical T3 (Some T5 Rooms)]All'), 0.313, 0.477, 0.502, 0.493)),
(-78, (_t('[NPC][Abyssal][Electrical T4/T5]Drones'), 0.193, 0.522, 0.529, 0.435)),
(-79, (_t('[NPC][Abyssal][Electrical T4/T5]Overmind'), 0.398, 0.576, 0.612, 0.624)),
(-80, (_t('[NPC][Abyssal][Electrical T4/T5]Seeker'), 0, 0.082, 0.082, 0.082)),
(-81, (_t('[NPC][Abyssal][Electrical T4/T5]Triglavian'), 0.183, 0.401, 0.449, 0.37)),
(-82, (_t('[NPC][Abyssal][Electrical T4/T5]Drifter'), 0.107, 0.403, 0.403, 0.403)),
(-83, (_t('[NPC][Abyssal][Electrical T4/T5]Sleeper'), 0.215, 0.435, 0.435, 0.435)),
(-84, (_t('[NPC][Abyssal][Electrical T4/T5]All'), 0.25, 0.477, 0.502, 0.493)),
(-85, (_t('[NPC][Abyssal][Firestorm T1/T2]Drones'), 0.461, 0.425, 0.541, 0.443)),
(-86, (_t('[NPC][Abyssal][Firestorm T1/T2]Overmind'), 0.65, 0.469, 0.625, 0.633)),
(-87, (_t('[NPC][Abyssal][Firestorm T1/T2]Seeker'), 0.084, 0, 0.084, 0.084)),
(-88, (_t('[NPC][Abyssal][Firestorm T1/T2]Triglavian'), 0.534, 0.266, 0.484, 0.366)),
(-89, (_t('[NPC][Abyssal][Firestorm T1/T2]Drifter'), 0.422, 0.282, 0.422, 0.422)),
(-90, (_t('[NPC][Abyssal][Firestorm T1/T2]Sleeper'), 0.512, 0.402, 0.512, 0.512)),
(-91, (_t('[NPC][Abyssal][Firestorm T1/T2]All'), 0.541, 0.365, 0.524, 0.504)),
(-92, (_t('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Drones'), 0.461, 0.36, 0.541, 0.443)),
(-93, (_t('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Overmind'), 0.65, 0.391, 0.625, 0.633)),
(-94, (_t('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Seeker'), 0.084, 0, 0.084, 0.084)),
(-95, (_t('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Triglavian'), 0.534, 0.161, 0.484, 0.366)),
(-96, (_t('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Drifter'), 0.422, 0.196, 0.422, 0.422)),
(-97, (_t('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]Sleeper'), 0.512, 0.337, 0.512, 0.512)),
(-98, (_t('[NPC][Abyssal][Firestorm T3 (Some T5 Rooms)]All'), 0.541, 0.284, 0.524, 0.504)),
(-99, (_t('[NPC][Abyssal][Firestorm T4/T5]Drones'), 0.461, 0.305, 0.541, 0.443)),
(-100, (_t('[NPC][Abyssal][Firestorm T4/T5]Overmind'), 0.65, 0.323, 0.625, 0.633)),
(-101, (_t('[NPC][Abyssal][Firestorm T4/T5]Seeker'), 0.084, 0, 0.084, 0.084)),
(-102, (_t('[NPC][Abyssal][Firestorm T4/T5]Triglavian'), 0.534, 0.082, 0.484, 0.366)),
(-103, (_t('[NPC][Abyssal][Firestorm T4/T5]Drifter'), 0.422, 0.114, 0.422, 0.422)),
(-104, (_t('[NPC][Abyssal][Firestorm T4/T5]Sleeper'), 0.512, 0.276, 0.512, 0.512)),
(-105, (_t('[NPC][Abyssal][Firestorm T4/T5]All'), 0.541, 0.214, 0.524, 0.504)),
(-106, (_t('[NPC][Abyssal][Exotic T1/T2]Drones'), 0.439, 0.522, 0.417, 0.435)),
(-107, (_t('[NPC][Abyssal][Exotic T1/T2]Overmind'), 0.626, 0.576, 0.496, 0.624)),
(-108, (_t('[NPC][Abyssal][Exotic T1/T2]Seeker'), 0.082, 0.082, 0, 0.082)),
(-109, (_t('[NPC][Abyssal][Exotic T1/T2]Triglavian'), 0.477, 0.401, 0.284, 0.37)),
(-110, (_t('[NPC][Abyssal][Exotic T1/T2]Drifter'), 0.403, 0.403, 0.267, 0.403)),
(-111, (_t('[NPC][Abyssal][Exotic T1/T2]Sleeper'), 0.435, 0.435, 0.329, 0.435)),
(-112, (_t('[NPC][Abyssal][Exotic T1/T2]All'), 0.507, 0.477, 0.373, 0.493)),
(-113, (_t('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Drones'), 0.439, 0.522, 0.351, 0.435)),
(-114, (_t('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Overmind'), 0.626, 0.576, 0.419, 0.624)),
(-115, (_t('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Seeker'), 0.082, 0.082, 0, 0.082)),
(-116, (_t('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Triglavian'), 0.477, 0.401, 0.176, 0.37)),
(-117, (_t('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Drifter'), 0.403, 0.403, 0.184, 0.403)),
(-118, (_t('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]Sleeper'), 0.435, 0.435, 0.268, 0.435)),
(-119, (_t('[NPC][Abyssal][Exotic T3 (Some T5 Rooms)]All'), 0.507, 0.477, 0.293, 0.493)),
(-120, (_t('[NPC][Abyssal][Exotic T4/T5]Drones'), 0.439, 0.522, 0.293, 0.435)),
(-121, (_t('[NPC][Abyssal][Exotic T4/T5]Overmind'), 0.626, 0.576, 0.344, 0.624)),
(-122, (_t('[NPC][Abyssal][Exotic T4/T5]Seeker'), 0.082, 0.082, 0, 0.082)),
(-123, (_t('[NPC][Abyssal][Exotic T4/T5]Triglavian'), 0.477, 0.401, 0.107, 0.37)),
(-124, (_t('[NPC][Abyssal][Exotic T4/T5]Drifter'), 0.403, 0.403, 0.107, 0.403)),
(-125, (_t('[NPC][Abyssal][Exotic T4/T5]Sleeper'), 0.435, 0.435, 0.215, 0.435)),
(-126, (_t('[NPC][Abyssal][Exotic T4/T5]All'), 0.507, 0.477, 0.223, 0.493)),
(-127, (_t('[NPC][Abyssal][Gamma T1/T2]Drones'), 0.449, 0.54, 0.549, 0.336)),
(-128, (_t('[NPC][Abyssal][Gamma T1/T2]Overmind'), 0.6, 0.557, 0.601, 0.504)),
(-129, (_t('[NPC][Abyssal][Gamma T1/T2]Seeker'), 0.085, 0.085, 0.085, 0)),
(-130, (_t('[NPC][Abyssal][Gamma T1/T2]Triglavian'), 0.463, 0.392, 0.447, 0.193)),
(-131, (_t('[NPC][Abyssal][Gamma T1/T2]Drifter'), 0.428, 0.428, 0.428, 0.287)),
(-132, (_t('[NPC][Abyssal][Gamma T1/T2]Sleeper'), 0.435, 0.435, 0.435, 0.329)),
(-133, (_t('[NPC][Abyssal][Gamma T1/T2]All'), 0.493, 0.472, 0.5, 0.362)),
(-134, (_t('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Drones'), 0.449, 0.54, 0.549, 0.264)),
(-135, (_t('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Overmind'), 0.6, 0.557, 0.601, 0.428)),
(-136, (_t('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Seeker'), 0.085, 0.085, 0.085, 0)),
(-137, (_t('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Triglavian'), 0.463, 0.392, 0.447, 0.071)),
(-138, (_t('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Drifter'), 0.428, 0.428, 0.428, 0.2)),
(-139, (_t('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]Sleeper'), 0.435, 0.435, 0.435, 0.268)),
(-140, (_t('[NPC][Abyssal][Gamma T3 (Some T5 Rooms)]All'), 0.493, 0.472, 0.5, 0.28)),
(-141, (_t('[NPC][Abyssal][Gamma T4/T5]Drones'), 0.449, 0.54, 0.549, 0.197)),
(-142, (_t('[NPC][Abyssal][Gamma T4/T5]Overmind'), 0.6, 0.557, 0.601, 0.356)),
(-143, (_t('[NPC][Abyssal][Gamma T4/T5]Seeker'), 0.085, 0.085, 0.085, 0)),
(-144, (_t('[NPC][Abyssal][Gamma T4/T5]Triglavian'), 0.463, 0.392, 0.447, 0.029)),
(-145, (_t('[NPC][Abyssal][Gamma T4/T5]Drifter'), 0.428, 0.428, 0.428, 0.117)),
(-146, (_t('[NPC][Abyssal][Gamma T4/T5]Sleeper'), 0.435, 0.435, 0.435, 0.215)),
(-147, (_t('[NPC][Abyssal][Gamma T4/T5]All'), 0.493, 0.472, 0.5, 0.21))])
class TargetProfile:
# also determined import/export order - VERY IMPORTANT
DAMAGE_TYPES = ('em', 'thermal', 'kinetic', 'explosive')
_idealTarget = None
@@ -234,14 +233,14 @@ class TargetProfile:
def getIdeal(cls):
if cls._idealTarget is None:
cls._idealTarget = cls(
emAmount=0,
thermalAmount=0,
kineticAmount=0,
explosiveAmount=0,
maxVelocity=0,
signatureRadius=None,
radius=0)
cls._idealTarget.rawName = 'Ideal Target'
emAmount=0,
thermalAmount=0,
kineticAmount=0,
explosiveAmount=0,
maxVelocity=0,
signatureRadius=None,
radius=0)
cls._idealTarget.rawName = _t('Ideal Target')
cls._idealTarget.ID = 0
cls._idealTarget.builtin = True
return cls._idealTarget
@@ -399,7 +398,7 @@ class TargetProfile:
def __deepcopy__(self, memo):
p = TargetProfile(
self.emAmount, self.thermalAmount, self.kineticAmount, self.explosiveAmount,
self._maxVelocity, self._signatureRadius, self._radius)
self.emAmount, self.thermalAmount, self.kineticAmount, self.explosiveAmount,
self._maxVelocity, self._signatureRadius, self._radius)
p.rawName = "%s copy" % self.rawName
return p

11
pyfa.py
View File

@@ -77,7 +77,6 @@ parser.add_option("-i", "--language", action="store", dest="language", help="Set
(options, args) = parser.parse_args()
if __name__ == "__main__":
try:
@@ -92,6 +91,7 @@ if __name__ == "__main__":
import wx
from logbook import Logger
pyfalog = Logger(__name__)
from gui.errorDialog import ErrorHandler
@@ -125,6 +125,10 @@ if __name__ == "__main__":
if db_needs_update() is True:
update_db()
from gui.app import PyfaApp
pyfa = PyfaApp(False)
# Lets get to the good stuff, shall we?
import eos.db
import eos.events # todo: move this to eos initialization?
@@ -137,15 +141,13 @@ if __name__ == "__main__":
os.mkdir(config.savePath)
eos.db.saveddata_meta.create_all()
from gui.app import PyfaApp
# set title if it wasn't supplied by argument
if options.title is None:
options.title = "pyfa %s - Python Fitting Assistant" % (config.getVersion())
pyfa = PyfaApp(False)
from gui.mainFrame import MainFrame
mf = MainFrame(options.title)
ErrorHandler.SetParent(mf)
@@ -153,6 +155,7 @@ if __name__ == "__main__":
profile_path = os.path.join(options.profile_path, 'pyfa-{}.profile'.format(datetime.datetime.now().strftime('%Y%m%d_%H%M%S')))
pyfalog.debug("Starting pyfa with a profiler, saving to {}".format(profile_path))
import cProfile
cProfile.run('pyfa.MainLoop()', profile_path)
else:
pyfa.MainLoop()