Compare commits
28 Commits
v2.27.0
...
v2.28.3dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
385215b717 | ||
|
|
d09913d61b | ||
|
|
b9059835ce | ||
|
|
7af28b497c | ||
|
|
5cf555b8ce | ||
|
|
a25bb1aaa3 | ||
|
|
24a54c9cec | ||
|
|
c1302ce7ee | ||
|
|
e4ea9c2ab9 | ||
|
|
cca5781ca8 | ||
|
|
9760d2c4a5 | ||
|
|
4efa9a6961 | ||
|
|
b27d4bcbbd | ||
|
|
7bff295012 | ||
|
|
01249dfd9c | ||
|
|
0cc2668c1c | ||
|
|
dfad734a0a | ||
|
|
66c901a2b0 | ||
|
|
3673e7f39e | ||
|
|
124b35d108 | ||
|
|
5181e8e95a | ||
|
|
48cc4ce9d4 | ||
|
|
07ff43b576 | ||
|
|
70969cc9fb | ||
|
|
d23bf2fa4c | ||
|
|
04c8659922 | ||
|
|
5e3b92699b | ||
|
|
1755ab4c3f |
26
eos/db/migrations/upgrade43.py
Normal file
26
eos/db/migrations/upgrade43.py
Normal file
@@ -0,0 +1,26 @@
|
||||
"""
|
||||
Migration 43
|
||||
|
||||
- Shield booster amplifier tiericide
|
||||
"""
|
||||
|
||||
CONVERSIONS = {
|
||||
16533: ( # Stalwart Restrained Shield Boost Amplifier
|
||||
16531, # 5a Prototype Shield Support I
|
||||
),
|
||||
16535: ( # Copasetic Compact Shield Boost Amplifier
|
||||
16529, # Ionic Field Accelerator I
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
def upgrade(saveddata_engine):
|
||||
# Convert modules
|
||||
for replacement_item, list in CONVERSIONS.items():
|
||||
for retired_item in list:
|
||||
saveddata_engine.execute('UPDATE "modules" SET "itemID" = ? WHERE "itemID" = ?',
|
||||
(replacement_item, retired_item))
|
||||
saveddata_engine.execute('UPDATE "modules" SET "baseItemID" = ? WHERE "baseItemID" = ?',
|
||||
(replacement_item, retired_item))
|
||||
saveddata_engine.execute('UPDATE "cargo" SET "itemID" = ? WHERE "itemID" = ?',
|
||||
(replacement_item, retired_item))
|
||||
@@ -42,7 +42,7 @@ class Effect4(BaseEffect):
|
||||
shieldBoosting
|
||||
|
||||
Used by:
|
||||
Modules from group: Shield Booster (89 of 89)
|
||||
Modules from group: Shield Booster (90 of 90)
|
||||
"""
|
||||
|
||||
runTime = 'late'
|
||||
@@ -148,7 +148,7 @@ class Effect27(BaseEffect):
|
||||
armorRepair
|
||||
|
||||
Used by:
|
||||
Modules from group: Armor Repair Unit (100 of 100)
|
||||
Modules from group: Armor Repair Unit (101 of 101)
|
||||
"""
|
||||
|
||||
runTime = 'late'
|
||||
@@ -203,7 +203,7 @@ class Effect39(BaseEffect):
|
||||
warpDisrupt
|
||||
|
||||
Used by:
|
||||
Modules named like: Warp Disruptor (28 of 28)
|
||||
Modules named like: Warp Disruptor (29 of 29)
|
||||
"""
|
||||
|
||||
type = 'projected', 'active'
|
||||
@@ -374,7 +374,7 @@ class Effect58(BaseEffect):
|
||||
Modules from group: Capacitor Flux Coil (6 of 6)
|
||||
Modules from group: Capacitor Power Relay (20 of 20)
|
||||
Modules from group: Power Diagnostic System (23 of 23)
|
||||
Modules from group: Propulsion Module (68 of 133)
|
||||
Modules from group: Propulsion Module (69 of 135)
|
||||
Modules from group: Reactor Control Unit (22 of 22)
|
||||
"""
|
||||
|
||||
@@ -1126,6 +1126,7 @@ class Effect394(BaseEffect):
|
||||
Implants named like: grade Snake (16 of 18)
|
||||
Modules named like: Auxiliary Thrusters (8 of 8)
|
||||
Implant: Quafe Zero
|
||||
Implant: Serenity YC122.9 Season Booster - Max Velocity
|
||||
Skill: Navigation
|
||||
"""
|
||||
|
||||
@@ -1150,6 +1151,7 @@ class Effect395(BaseEffect):
|
||||
Implants named like: grade Nomad (10 of 12)
|
||||
Modules named like: Low Friction Nozzle Joints (8 of 8)
|
||||
Implant: Genolution Core Augmentation CA-4
|
||||
Implant: Serenity YC122.9 Season Booster - Agility
|
||||
Skill: Evasive Maneuvering
|
||||
Skill: Spaceship Command
|
||||
"""
|
||||
@@ -2440,6 +2442,7 @@ class Effect856(BaseEffect):
|
||||
Implants named like: Eifyr and Co. 'Rogue' Warp Drive Speed WS (6 of 6)
|
||||
Implants named like: grade Ascendancy (10 of 12)
|
||||
Modules named like: Hyperspatial Velocity Optimizer (8 of 8)
|
||||
Implant: Serenity YC122.9 Season Booster - Warp Speed
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -3737,6 +3740,7 @@ class Effect1185(BaseEffect):
|
||||
Used by:
|
||||
Implants named like: X Instinct Booster (4 of 4)
|
||||
Implants named like: grade Halo (15 of 18)
|
||||
Implant: Serenity YC122.9 Season Booster - Signature Radius
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -4491,6 +4495,7 @@ class Effect1452(BaseEffect):
|
||||
Used by:
|
||||
Implants named like: grade Centurion (10 of 12)
|
||||
Modules named like: Particle Dispersion Projector (8 of 8)
|
||||
Implant: Serenity YC122.9 Season Booster - EW Range
|
||||
Skill: Long Distance Jamming
|
||||
"""
|
||||
|
||||
@@ -5208,7 +5213,7 @@ class Effect1720(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Modules from group: Capacitor Power Relay (20 of 20)
|
||||
Modules from group: Shield Boost Amplifier (25 of 25)
|
||||
Modules from group: Shield Boost Amplifier (23 of 23)
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -9223,8 +9228,8 @@ class Effect3002(BaseEffect):
|
||||
Used by:
|
||||
Modules from group: Ancillary Remote Shield Booster (4 of 4)
|
||||
Modules from group: Capacitor Booster (41 of 41)
|
||||
Modules from group: Energy Neutralizer (54 of 54)
|
||||
Modules from group: Energy Nosferatu (54 of 54)
|
||||
Modules from group: Energy Neutralizer (55 of 55)
|
||||
Modules from group: Energy Nosferatu (55 of 55)
|
||||
Modules from group: Hull Repair Unit (25 of 25)
|
||||
Modules from group: Remote Armor Repairer (39 of 39)
|
||||
Modules from group: Remote Capacitor Transmitter (35 of 35)
|
||||
@@ -9468,7 +9473,7 @@ class Effect3061(BaseEffect):
|
||||
heatDamageBonus
|
||||
|
||||
Used by:
|
||||
Modules from group: Shield Boost Amplifier (25 of 25)
|
||||
Modules from group: Shield Boost Amplifier (23 of 23)
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -9542,7 +9547,7 @@ class Effect3174(BaseEffect):
|
||||
Used by:
|
||||
Modules from group: Stasis Grappler (7 of 7)
|
||||
Modules from group: Stasis Web (19 of 19)
|
||||
Modules from group: Warp Scrambler (54 of 55)
|
||||
Modules from group: Warp Scrambler (56 of 57)
|
||||
"""
|
||||
|
||||
type = 'overheat'
|
||||
@@ -9558,7 +9563,7 @@ class Effect3175(BaseEffect):
|
||||
overloadSelfSpeedBonus
|
||||
|
||||
Used by:
|
||||
Modules from group: Propulsion Module (133 of 133)
|
||||
Modules from group: Propulsion Module (135 of 135)
|
||||
"""
|
||||
|
||||
type = 'overheat'
|
||||
@@ -9610,8 +9615,8 @@ class Effect3200(BaseEffect):
|
||||
overloadSelfArmorDamageAmountDurationBonus
|
||||
|
||||
Used by:
|
||||
Modules from group: Ancillary Armor Repairer (7 of 7)
|
||||
Modules from group: Armor Repair Unit (100 of 100)
|
||||
Modules from group: Ancillary Armor Repairer (8 of 8)
|
||||
Modules from group: Armor Repair Unit (101 of 101)
|
||||
"""
|
||||
|
||||
type = 'overheat'
|
||||
@@ -9628,8 +9633,8 @@ class Effect3201(BaseEffect):
|
||||
overloadSelfShieldBonusDurationBonus
|
||||
|
||||
Used by:
|
||||
Modules from group: Ancillary Shield Booster (8 of 8)
|
||||
Modules from group: Shield Booster (89 of 89)
|
||||
Modules from group: Ancillary Shield Booster (9 of 9)
|
||||
Modules from group: Shield Booster (90 of 90)
|
||||
"""
|
||||
|
||||
type = 'overheat'
|
||||
@@ -11206,6 +11211,7 @@ class Effect3650(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Centurion (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - EW Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11222,6 +11228,7 @@ class Effect3651(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Centurion (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - EW Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11238,6 +11245,7 @@ class Effect3652(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Centurion (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - EW Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11254,6 +11262,7 @@ class Effect3653(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Centurion (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - EW Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11354,6 +11363,7 @@ class Effect3668(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Harvest (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - Mining Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11370,6 +11380,7 @@ class Effect3669(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Harvest (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - Mining Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11386,6 +11397,7 @@ class Effect3670(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Harvest (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - Mining Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11402,6 +11414,7 @@ class Effect3671(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Harvest (10 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - Mining Range
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
@@ -11418,6 +11431,7 @@ class Effect3672(BaseEffect):
|
||||
|
||||
Used by:
|
||||
Implants named like: grade Harvest (12 of 12)
|
||||
Implant: Serenity YC122.9 Season Booster - Mining Range
|
||||
"""
|
||||
|
||||
runTime = 'early'
|
||||
@@ -13594,6 +13608,7 @@ class Effect4162(BaseEffect):
|
||||
Implants named like: Poteque 'Prospector' Astrometric Rangefinding AR (3 of 3)
|
||||
Implants named like: grade Virtue (10 of 12)
|
||||
Modules named like: Gravity Capacitor Upgrade (8 of 8)
|
||||
Implant: Serenity YC122.9 Season Booster - Probe Scanning Strength
|
||||
Skill: Astrometric Rangefinding
|
||||
Skill: Astrometrics
|
||||
"""
|
||||
@@ -16691,7 +16706,7 @@ class Effect4936(BaseEffect):
|
||||
fueledShieldBoosting
|
||||
|
||||
Used by:
|
||||
Modules from group: Ancillary Shield Booster (8 of 8)
|
||||
Modules from group: Ancillary Shield Booster (9 of 9)
|
||||
"""
|
||||
|
||||
runTime = 'late'
|
||||
@@ -18977,7 +18992,7 @@ class Effect5275(BaseEffect):
|
||||
fueledArmorRepair
|
||||
|
||||
Used by:
|
||||
Modules from group: Ancillary Armor Repairer (7 of 7)
|
||||
Modules from group: Ancillary Armor Repairer (8 of 8)
|
||||
"""
|
||||
|
||||
runTime = 'late'
|
||||
@@ -23417,7 +23432,7 @@ class Effect5934(BaseEffect):
|
||||
warpScrambleBlockMWDWithNPCEffect
|
||||
|
||||
Used by:
|
||||
Modules named like: Warp Scrambler (27 of 27)
|
||||
Modules named like: Warp Scrambler (28 of 28)
|
||||
"""
|
||||
|
||||
runTime = 'early'
|
||||
@@ -25147,7 +25162,7 @@ class Effect6187(BaseEffect):
|
||||
energyNeutralizerFalloff
|
||||
|
||||
Used by:
|
||||
Modules from group: Energy Neutralizer (54 of 54)
|
||||
Modules from group: Energy Neutralizer (55 of 55)
|
||||
"""
|
||||
|
||||
type = 'active', 'projected'
|
||||
@@ -25238,7 +25253,7 @@ class Effect6197(BaseEffect):
|
||||
energyNosferatuFalloff
|
||||
|
||||
Used by:
|
||||
Modules from group: Energy Nosferatu (54 of 54)
|
||||
Modules from group: Energy Nosferatu (55 of 55)
|
||||
"""
|
||||
|
||||
runTime = 'late'
|
||||
@@ -26907,7 +26922,7 @@ class Effect6400(BaseEffect):
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, src, context, projectionRange, **kwargs):
|
||||
groups = ('Structure Warp Scrambler', 'Structure Disruption Battery', 'Structure Stasis Webifier')
|
||||
groups = ('Structure Warp Scrambler', 'Structure ECM Battery', 'Structure Stasis Webifier')
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
|
||||
'capacitorNeed', src.getModifiedItemAttr('capNeedBonus'),
|
||||
skill='Structure Electronic Systems', **kwargs)
|
||||
@@ -29081,7 +29096,7 @@ class Effect6582(BaseEffect):
|
||||
moduleBonusSiegeModule
|
||||
|
||||
Used by:
|
||||
Variations of module: Siege Module I (2 of 2)
|
||||
Modules named like: Siege Module (3 of 3)
|
||||
"""
|
||||
|
||||
runTime = 'early'
|
||||
@@ -31524,7 +31539,7 @@ class Effect6730(BaseEffect):
|
||||
moduleBonusMicrowarpdrive
|
||||
|
||||
Used by:
|
||||
Modules from group: Propulsion Module (68 of 133)
|
||||
Modules from group: Propulsion Module (69 of 135)
|
||||
"""
|
||||
|
||||
runTime = 'late'
|
||||
@@ -31548,7 +31563,7 @@ class Effect6731(BaseEffect):
|
||||
moduleBonusAfterburner
|
||||
|
||||
Used by:
|
||||
Modules from group: Propulsion Module (65 of 133)
|
||||
Modules from group: Propulsion Module (66 of 135)
|
||||
"""
|
||||
|
||||
runTime = 'late'
|
||||
@@ -37181,3 +37196,39 @@ class Effect8085(BaseEffect):
|
||||
lambda mod: mod.item.requiresSkill('Fighters'),
|
||||
'fighterAbilityMissilesExplosionRadius', container.getModifiedItemAttr('aoeCloudSizeMultiplier'),
|
||||
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
|
||||
|
||||
|
||||
class Effect8091(BaseEffect):
|
||||
"""
|
||||
shipBonusForceAuxiliaryG2CapBoosterStrength
|
||||
|
||||
Used by:
|
||||
Ship: Ninazu
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredChargeBoost(
|
||||
lambda mod: mod.charge.group.name == 'Capacitor Booster Charge',
|
||||
'capacitorBonus', ship.getModifiedItemAttr('shipBonusForceAuxiliaryG2'),
|
||||
skill='Gallente Carrier', **kwargs)
|
||||
|
||||
|
||||
class Effect8092(BaseEffect):
|
||||
"""
|
||||
shipBonusForceAuxiliaryM2CapBoosterStrength
|
||||
|
||||
Used by:
|
||||
Ship: Lif
|
||||
"""
|
||||
|
||||
type = 'passive'
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, ship, context, projectionRange, **kwargs):
|
||||
fit.modules.filteredChargeBoost(
|
||||
lambda mod: mod.charge.group.name == 'Capacitor Booster Charge',
|
||||
'capacitorBonus', ship.getModifiedItemAttr('shipBonusForceAuxiliaryM2'),
|
||||
skill='Minmatar Carrier', **kwargs)
|
||||
|
||||
@@ -755,13 +755,11 @@ class Fit:
|
||||
self.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
|
||||
"signatureRadius", value, stackingPenalties=True)
|
||||
|
||||
if warfareBuffID == 80: # AOE_Beacon_caustic_cloud_local_repair
|
||||
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
|
||||
"armorDamageAmount", value, stackingPenalties=True)
|
||||
if warfareBuffID == 80: # AOE_Beacon_caustic_cloud_inertia
|
||||
self.ship.boostItemAttr("agility", value, stackingPenalties=True)
|
||||
|
||||
if warfareBuffID == 81: # AOE_Beacon_caustic_cloud_remote_repair
|
||||
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
|
||||
"armorDamageAmount", value, stackingPenalties=True)
|
||||
if warfareBuffID == 81: # AOE_Beacon_caustic_cloud_velocity
|
||||
self.ship.boostItemAttr("maxVelocity", value, stackingPenalties=True)
|
||||
|
||||
if warfareBuffID == 88: # AOE_Beacon_filament_cloud_shield_booster_shield_bonus
|
||||
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
|
||||
|
||||
@@ -198,11 +198,18 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
|
||||
# todo: validate baseItem as well if it's set.
|
||||
if self.isEmpty:
|
||||
return False
|
||||
return (
|
||||
self.__item is None or (
|
||||
self.__item.category.name not in ("Module", "Subsystem", "Structure Module") and
|
||||
self.__item.group.name not in self.SYSTEM_GROUPS) or
|
||||
(self.item.isAbyssal and not self.isMutated))
|
||||
if self.__item is None:
|
||||
return True
|
||||
if (
|
||||
self.__item.category.name not in ("Module", "Subsystem", "Structure Module")
|
||||
and self.__item.group.name not in self.SYSTEM_GROUPS
|
||||
):
|
||||
return True
|
||||
if self.item.isAbyssal and not self.isMutated:
|
||||
return True
|
||||
if self.isMutated and not self.__mutaplasmid:
|
||||
return True
|
||||
return False
|
||||
|
||||
@property
|
||||
def isMutated(self):
|
||||
|
||||
@@ -89,12 +89,9 @@ class Mutator(EqBase):
|
||||
# sweet, all good
|
||||
returnVal = val
|
||||
else:
|
||||
# need to fudge the numbers a bit. Go with the value closest to base
|
||||
if val >= 0:
|
||||
returnVal = min(self.maxValue, max(self.minValue, val))
|
||||
else:
|
||||
returnVal = max(self.maxValue, min(self.minValue, val))
|
||||
|
||||
actualMin = min(self.minValue, self.maxValue)
|
||||
actualMax = max(self.minValue, self.maxValue)
|
||||
returnVal = min(actualMax, max(actualMin, val))
|
||||
return returnVal
|
||||
|
||||
@property
|
||||
@@ -120,15 +117,24 @@ class Mutator(EqBase):
|
||||
|
||||
@property
|
||||
def baseValue(self):
|
||||
return self.baseAttribute.value
|
||||
try:
|
||||
return self.baseAttribute.value
|
||||
except AttributeError:
|
||||
return 0
|
||||
|
||||
@property
|
||||
def minValue(self):
|
||||
return self.minMod * self.baseAttribute.value
|
||||
try:
|
||||
return self.minMod * self.baseAttribute.value
|
||||
except AttributeError:
|
||||
return 0
|
||||
|
||||
@property
|
||||
def maxValue(self):
|
||||
return self.maxMod * self.baseAttribute.value
|
||||
try:
|
||||
return self.maxMod * self.baseAttribute.value
|
||||
except AttributeError:
|
||||
return 0
|
||||
|
||||
@property
|
||||
def attribute(self):
|
||||
|
||||
@@ -36,9 +36,9 @@ class VectorPicker(wx.Window):
|
||||
self._labelpos = int(kwargs.pop('labelpos', 0))
|
||||
self._offset = float(kwargs.pop('offset', 0))
|
||||
self._size = max(0, float(kwargs.pop('size', 50)))
|
||||
self._fontsize = max(1, float(kwargs.pop('fontsize', 8)))
|
||||
self._directionOnly = kwargs.pop('directionOnly', False)
|
||||
super().__init__(*args, **kwargs)
|
||||
self._fontsize = max(1, float(kwargs.pop('fontsize', 8 / self.GetContentScaleFactor())))
|
||||
self._font = wx.Font(self._fontsize, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)
|
||||
self._angle = 0
|
||||
self.__length = 1
|
||||
@@ -107,8 +107,11 @@ class VectorPicker(wx.Window):
|
||||
dc = wx.BufferedPaintDC(self)
|
||||
self.Draw(dc)
|
||||
|
||||
def GetScaledClientSize(self):
|
||||
return tuple([dim / self.GetContentScaleFactor() for dim in self.GetClientSize()])
|
||||
|
||||
def Draw(self, dc):
|
||||
width, height = self.GetClientSize()
|
||||
width, height = self.GetScaledClientSize()
|
||||
if not width or not height:
|
||||
return
|
||||
dc.SetBackground(wx.Brush(self.GetBackgroundColour(), wx.BRUSHSTYLE_SOLID))
|
||||
@@ -122,9 +125,11 @@ class VectorPicker(wx.Window):
|
||||
a = math.radians(self._angle + self._offset)
|
||||
x = math.cos(a) * radius
|
||||
y = math.sin(a) * radius
|
||||
# See PR #2260 on why this is needed
|
||||
pointRadius = 2 / self.GetContentScaleFactor() if 'wxGTK' in wx.PlatformInfo else 2
|
||||
dc.DrawLine(radius + 2, radius + 2, radius + 2 + x * self._length, radius + 2 - y * self._length)
|
||||
dc.SetBrush(wx.BLACK_BRUSH)
|
||||
dc.DrawCircle(radius + 2 + x * self._length, radius + 2 - y * self._length, 2)
|
||||
dc.DrawCircle(radius + 2 + x * self._length, radius + 2 - y * self._length, pointRadius)
|
||||
|
||||
if self._label:
|
||||
labelText = self._label
|
||||
|
||||
@@ -89,6 +89,7 @@ class ItemMutatorList(wx.ScrolledWindow):
|
||||
higOverrides = {
|
||||
('Stasis Web', 'speedFactor'): False,
|
||||
('Damage Control', 'duration'): True,
|
||||
('Siege Module', 'siegeLocalLogisticsDurationBonus'): False
|
||||
}
|
||||
|
||||
first = True
|
||||
|
||||
@@ -62,8 +62,10 @@ class EveFittings(AuxiliaryFrame):
|
||||
btnSizer = wx.BoxSizer(wx.HORIZONTAL)
|
||||
self.importBtn = wx.Button(self, wx.ID_ANY, "Import to pyfa", wx.DefaultPosition, wx.DefaultSize, 5)
|
||||
self.deleteBtn = wx.Button(self, wx.ID_ANY, "Delete from EVE", wx.DefaultPosition, wx.DefaultSize, 5)
|
||||
self.deleteAllBtn = wx.Button(self, wx.ID_ANY, "Delete all from Eve", wx.DefaultPosition, wx.DefaultSize, 5)
|
||||
btnSizer.Add(self.importBtn, 1, wx.ALL, 5)
|
||||
btnSizer.Add(self.deleteBtn, 1, wx.ALL, 5)
|
||||
btnSizer.Add(self.deleteAllBtn, 1, wx.ALL, 5)
|
||||
fitSizer.Add(btnSizer, 0, wx.EXPAND)
|
||||
|
||||
contentSizer.Add(fitSizer, 1, wx.EXPAND, 0)
|
||||
@@ -72,6 +74,7 @@ class EveFittings(AuxiliaryFrame):
|
||||
self.fetchBtn.Bind(wx.EVT_BUTTON, self.fetchFittings)
|
||||
self.importBtn.Bind(wx.EVT_BUTTON, self.importFitting)
|
||||
self.deleteBtn.Bind(wx.EVT_BUTTON, self.deleteFitting)
|
||||
self.deleteAllBtn.Bind(wx.EVT_BUTTON, self.deleteAllFittings)
|
||||
|
||||
self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)
|
||||
|
||||
@@ -169,6 +172,37 @@ class EveFittings(AuxiliaryFrame):
|
||||
pyfalog.error(msg)
|
||||
self.statusbar.SetStatusText(msg)
|
||||
|
||||
def deleteAllFittings(self, event):
|
||||
sEsi = Esi.getInstance()
|
||||
activeChar = self.getActiveCharacter()
|
||||
if activeChar is None:
|
||||
return
|
||||
charName = sEsi.getSsoCharacter(activeChar).characterName
|
||||
anyDeleted = False
|
||||
with wx.MessageDialog(
|
||||
self, "Do you really want to delete all fits from %s in EVE?"%(charName),
|
||||
"Confirm Delete", wx.YES | wx.NO | wx.ICON_QUESTION
|
||||
) as dlg:
|
||||
if dlg.ShowModal() == wx.ID_YES:
|
||||
try:
|
||||
for fit in self.fittings:
|
||||
sEsi.delFitting(activeChar, fit['fitting_id'])
|
||||
anyDeleted = True
|
||||
except requests.exceptions.ConnectionError:
|
||||
msg = "Connection error, please check your internet connection"
|
||||
pyfalog.error(msg)
|
||||
self.statusbar.SetStatusText(msg)
|
||||
except APIException as ex:
|
||||
if anyDeleted:
|
||||
msg = "Some fits were not deleted: ESI error {} received".format(ex.status_code)
|
||||
else:
|
||||
msg = "Failed to delete fits: ESI error {} received".format(ex.status_code)
|
||||
pyfalog.error(msg)
|
||||
self.statusbar.SetStatusText(msg)
|
||||
# repopulate the fitting list
|
||||
self.fitTree.populateSkillTree(self.fittings)
|
||||
self.fitView.update([])
|
||||
|
||||
|
||||
class ESIServerExceptionHandler:
|
||||
def __init__(self, parentWindow, ex):
|
||||
|
||||
@@ -16,192 +16,10 @@ rename_phrase = " renamed to "
|
||||
conversion_phrase = " converted to "
|
||||
|
||||
text = """
|
||||
Basic Energized EM Membrane renamed to 'Basic' EM Energized Membrane
|
||||
Energized EM Membrane I renamed to EM Energized Membrane I
|
||||
Energized EM Membrane II renamed to EM Energized Membrane II
|
||||
Basic Energized Explosive Membrane renamed to 'Basic' Explosive Energized Membrane
|
||||
Energized Explosive Membrane I renamed to Explosive Energized Membrane I
|
||||
Energized Explosive Membrane II renamed to Explosive Energized Membrane II
|
||||
Basic Energized Armor Layering Membrane renamed to 'Basic' Layered Energized Membrane
|
||||
Energized Armor Layering Membrane I renamed to Layered Energized Membrane I
|
||||
Energized Armor Layering Membrane II renamed to Layered Energized Membrane II
|
||||
Basic Energized Kinetic Membrane renamed to 'Basic' Kinetic Energized Membrane
|
||||
Energized Kinetic Membrane I renamed to Kinetic Energized Membrane I
|
||||
Energized Kinetic Membrane II renamed to Kinetic Energized Membrane II
|
||||
Basic Energized Thermal Membrane renamed to 'Basic' Thermal Energized Membrane
|
||||
Energized Thermal Membrane I renamed to Thermal Energized Membrane I
|
||||
Energized Thermal Membrane II renamed to Thermal Energized Membrane II
|
||||
Basic Energized Adaptive Nano Membrane renamed to 'Basic' Multispectrum Energized Membrane
|
||||
Energized Adaptive Nano Membrane I renamed to Multispectrum Energized Membrane I
|
||||
Energized Adaptive Nano Membrane II renamed to Multispectrum Energized Membrane II
|
||||
Dark Blood Energized Adaptive Nano Membrane renamed to Dark Blood Multispectrum Energized Membrane
|
||||
True Sansha Energized Adaptive Nano Membrane renamed to True Sansha Multispectrum Energized Membrane
|
||||
Shadow Serpentis Energized Adaptive Nano Membrane renamed to Shadow Serpentis Multispectrum Energized Membrane
|
||||
Dark Blood Energized Kinetic Membrane renamed to Dark Blood Kinetic Energized Membrane
|
||||
True Sansha Energized Kinetic Membrane renamed to True Sansha Kinetic Energized Membrane
|
||||
Shadow Serpentis Energized Kinetic Membrane renamed to Shadow Serpentis Kinetic Energized Membrane
|
||||
Dark Blood Energized Explosive Membrane renamed to Dark Blood Explosive Energized Membrane
|
||||
True Sansha Energized Explosive Membrane renamed to True Sansha Explosive Energized Membrane
|
||||
Shadow Serpentis Energized Explosive Membrane renamed to Shadow Serpentis Explosive Energized Membrane
|
||||
Dark Blood Energized EM Membrane renamed to Dark Blood EM Energized Membrane
|
||||
True Sansha Energized EM Membrane renamed to True Sansha EM Energized Membrane
|
||||
Shadow Serpentis Energized EM Membrane renamed to Shadow Serpentis EM Energized Membrane
|
||||
Dark Blood Energized Thermal Membrane renamed to Dark Blood Thermal Energized Membrane
|
||||
True Sansha Energized Thermal Membrane renamed to True Sansha Thermal Energized Membrane
|
||||
Shadow Serpentis Energized Thermal Membrane renamed to Shadow Serpentis Thermal Energized Membrane
|
||||
Brokara's Modified Energized Adaptive Nano Membrane renamed to Brokara's Modified Multispectrum Energized Membrane
|
||||
Tairei's Modified Energized Adaptive Nano Membrane renamed to Tairei's Modified Multispectrum Energized Membrane
|
||||
Selynne's Modified Energized Adaptive Nano Membrane renamed to Selynne's Modified Multispectrum Energized Membrane
|
||||
Raysere's Modified Energized Adaptive Nano Membrane renamed to Raysere's Modified Multispectrum Energized Membrane
|
||||
Vizan's Modified Energized Adaptive Nano Membrane renamed to Vizan's Modified Multispectrum Energized Membrane
|
||||
Ahremen's Modified Energized Adaptive Nano Membrane renamed to Ahremen's Modified Multispectrum Energized Membrane
|
||||
Chelm's Modified Energized Adaptive Nano Membrane renamed to Chelm's Modified Multispectrum Energized Membrane
|
||||
Draclira's Modified Energized Adaptive Nano Membrane renamed to Draclira's Modified Multispectrum Energized Membrane
|
||||
Brokara's Modified Energized Thermal Membrane renamed to Brokara's Modified Thermal Energized Membrane
|
||||
Tairei's Modified Energized Thermal Membrane renamed to Tairei's Modified Thermal Energized Membrane
|
||||
Selynne's Modified Energized Thermal Membrane renamed to Selynne's Modified Thermal Energized Membrane
|
||||
Raysere's Modified Energized Thermal Membrane renamed to Raysere's Modified Thermal Energized Membrane
|
||||
Vizan's Modified Energized Thermal Membrane renamed to Vizan's Modified Thermal Energized Membrane
|
||||
Ahremen's Modified Energized Thermal Membrane renamed to Ahremen's Modified Thermal Energized Membrane
|
||||
Chelm's Modified Energized Thermal Membrane renamed to Chelm's Modified Thermal Energized Membrane
|
||||
Draclira's Modified Energized Thermal Membrane renamed to Draclira's Modified Thermal Energized Membrane
|
||||
Brokara's Modified Energized EM Membrane renamed to Brokara's Modified EM Energized Membrane
|
||||
Tairei's Modified Energized EM Membrane renamed to Tairei's Modified EM Energized Membrane
|
||||
Selynne's Modified Energized EM Membrane renamed to Selynne's Modified EM Energized Membrane
|
||||
Raysere's Modified Energized EM Membrane renamed to Raysere's Modified EM Energized Membrane
|
||||
Vizan's Modified Energized EM Membrane renamed to Vizan's Modified EM Energized Membrane
|
||||
Ahremen's Modified Energized EM Membrane renamed to Ahremen's Modified EM Energized Membrane
|
||||
Chelm's Modified Energized EM Membrane renamed to Chelm's Modified EM Energized Membrane
|
||||
Draclira's Modified Energized EM Membrane renamed to Draclira's Modified EM Energized Membrane
|
||||
Brokara's Modified Energized Explosive Membrane renamed to Brokara's Modified Explosive Energized Membrane
|
||||
Tairei's Modified Energized Explosive Membrane renamed to Tairei's Modified Explosive Energized Membrane
|
||||
Selynne's Modified Energized Explosive Membrane renamed to Selynne's Modified Explosive Energized Membrane
|
||||
Raysere's Modified Energized Explosive Membrane renamed to Raysere's Modified Explosive Energized Membrane
|
||||
Vizan's Modified Energized Explosive Membrane renamed to Vizan's Modified Explosive Energized Membrane
|
||||
Ahremen's Modified Energized Explosive Membrane renamed to Ahremen's Modified Explosive Energized Membrane
|
||||
Chelm's Modified Energized Explosive Membrane renamed to Chelm's Modified Explosive Energized Membrane
|
||||
Draclira's Modified Energized Explosive Membrane renamed to Draclira's Modified Explosive Energized Membrane
|
||||
Brokara's Modified Energized Kinetic Membrane renamed to Brokara's Modified Kinetic Energized Membrane
|
||||
Tairei's Modified Energized Kinetic Membrane renamed to Tairei's Modified Kinetic Energized Membrane
|
||||
Selynne's Modified Energized Kinetic Membrane renamed to Selynne's Modified Kinetic Energized Membrane
|
||||
Raysere's Modified Energized Kinetic Membrane renamed to Raysere's Modified Kinetic Energized Membrane
|
||||
Vizan's Modified Energized Kinetic Membrane renamed to Vizan's Modified Kinetic Energized Membrane
|
||||
Ahremen's Modified Energized Kinetic Membrane renamed to Ahremen's Modified Kinetic Energized Membrane
|
||||
Chelm's Modified Energized Kinetic Membrane renamed to Chelm's Modified Kinetic Energized Membrane
|
||||
Draclira's Modified Energized Kinetic Membrane renamed to Draclira's Modified Kinetic Energized Membrane
|
||||
Brynn's Modified Energized Adaptive Nano Membrane renamed to Brynn's Modified Multispectrum Energized Membrane
|
||||
Tuvan's Modified Energized Adaptive Nano Membrane renamed to Tuvan's Modified Multispectrum Energized Membrane
|
||||
Setele's Modified Energized Adaptive Nano Membrane renamed to Setele's Modified Multispectrum Energized Membrane
|
||||
Cormack's Modified Energized Adaptive Nano Membrane renamed to Cormack's Modified Multispectrum Energized Membrane
|
||||
Brynn's Modified Energized Thermal Membrane renamed to Brynn's Modified Thermal Energized Membrane
|
||||
Tuvan's Modified Energized Thermal Membrane renamed to Tuvan's Modified Thermal Energized Membrane
|
||||
Setele's Modified Energized Thermal Membrane renamed to Setele's Modified Thermal Energized Membrane
|
||||
Cormack's Modified Energized Thermal Membrane renamed to Cormack's Modified Thermal Energized Membrane
|
||||
Brynn's Modified Energized EM Membrane renamed to Brynn's Modified EM Energized Membrane
|
||||
Tuvan's Modified Energized EM Membrane renamed to Tuvan's Modified EM Energized Membrane
|
||||
Setele's Modified Energized EM Membrane renamed to Setele's Modified EM Energized Membrane
|
||||
Cormack's Modified Energized EM Membrane renamed to Cormack's Modified EM Energized Membrane
|
||||
Brynn's Modified Energized Explosive Membrane renamed to Brynn's Modified Explosive Energized Membrane
|
||||
Tuvan's Modified Energized Explosive Membrane renamed to Tuvan's Modified Explosive Energized Membrane
|
||||
Setele's Modified Energized Explosive Membrane renamed to Setele's Modified Explosive Energized Membrane
|
||||
Cormack's Modified Energized Explosive Membrane renamed to Cormack's Modified Explosive Energized Membrane
|
||||
Brynn's Modified Energized Kinetic Membrane renamed to Brynn's Modified Kinetic Energized Membrane
|
||||
Tuvan's Modified Energized Kinetic Membrane renamed to Tuvan's Modified Kinetic Energized Membrane
|
||||
Setele's Modified Energized Kinetic Membrane renamed to Setele's Modified Kinetic Energized Membrane
|
||||
Cormack's Modified Energized Kinetic Membrane renamed to Cormack's Modified Kinetic Energized Membrane
|
||||
Imperial Navy Energized Thermal Membrane renamed to Imperial Navy Thermal Energized Membrane
|
||||
Imperial Navy Energized EM Membrane renamed to Imperial Navy EM Energized Membrane
|
||||
Imperial Navy Energized Explosive Membrane renamed to Imperial Navy Explosive Energized Membrane
|
||||
Imperial Navy Energized Kinetic Membrane renamed to Imperial Navy Kinetic Energized Membrane
|
||||
Imperial Navy Energized Adaptive Nano Membrane renamed to Imperial Navy Multispectrum Energized Membrane
|
||||
Federation Navy Energized Thermal Membrane renamed to Federation Navy Thermal Energized Membrane
|
||||
Federation Navy Energized EM Membrane renamed to Federation Navy EM Energized Membrane
|
||||
Federation Navy Energized Explosive Membrane renamed to Federation Navy Explosive Energized Membrane
|
||||
Federation Navy Energized Kinetic Membrane renamed to Federation Navy Kinetic Energized Membrane
|
||||
Federation Navy Energized Adaptive Nano Membrane renamed to Federation Navy Multispectrum Energized Membrane
|
||||
Prototype Energized Adaptive Nano Membrane I renamed to Compact Multispectrum Energized Membrane
|
||||
Prototype Energized Kinetic Membrane I renamed to Compact Kinetic Energized Membrane
|
||||
Prototype Energized Explosive Membrane I renamed to Compact Explosive Energized Membrane
|
||||
Prototype Energized EM Membrane I renamed to Compact EM Energized Membrane
|
||||
Prototype Energized Armor Layering Membrane I renamed to Compact Layered Energized Membrane
|
||||
Prototype Energized Thermal Membrane I renamed to Compact Thermal Energized Membrane
|
||||
Ammatar Navy Energized Adaptive Nano Membrane renamed to Ammatar Navy Multispectrum Energized Membrane
|
||||
Ammatar Navy Energized Kinetic Membrane renamed to Ammatar Navy Kinetic Energized Membrane
|
||||
Ammatar Navy Energized Explosive Membrane renamed to Ammatar Navy Explosive Energized Membrane
|
||||
Ammatar Navy Energized EM Membrane renamed to Ammatar Navy EM Energized Membrane
|
||||
Ammatar Navy Energized Thermal Membrane renamed to Ammatar Navy Thermal Energized Membrane
|
||||
Corelum C-Type Energized Adaptive Nano Membrane renamed to Corelum C-Type Multispectrum Energized Membrane
|
||||
Corelum C-Type Energized Kinetic Membrane renamed to Corelum C-Type Kinetic Energized Membrane
|
||||
Corelum C-Type Energized Explosive Membrane renamed to Corelum C-Type Explosive Energized Membrane
|
||||
Corelum C-Type Energized EM Membrane renamed to Corelum C-Type EM Energized Membrane
|
||||
Corelum C-Type Energized Thermal Membrane renamed to Corelum C-Type Thermal Energized Membrane
|
||||
Corelum B-Type Energized Adaptive Nano Membrane renamed to Corelum B-Type Multispectrum Energized Membrane
|
||||
Corelum B-Type Energized Kinetic Membrane renamed to Corelum B-Type Kinetic Energized Membrane
|
||||
Corelum B-Type Energized Explosive Membrane renamed to Corelum B-Type Explosive Energized Membrane
|
||||
Corelum B-Type Energized EM Membrane renamed to Corelum B-Type EM Energized Membrane
|
||||
Corelum B-Type Energized Thermal Membrane renamed to Corelum B-Type Thermal Energized Membrane
|
||||
Corelum A-Type Energized Adaptive Nano Membrane renamed to Corelum A-Type Multispectrum Energized Membrane
|
||||
Corelum A-Type Energized Kinetic Membrane renamed to Corelum A-Type Kinetic Energized Membrane
|
||||
Corelum A-Type Energized Explosive Membrane renamed to Corelum A-Type Explosive Energized Membrane
|
||||
Corelum A-Type Energized EM Membrane renamed to Corelum A-Type EM Energized Membrane
|
||||
Corelum A-Type Energized Thermal Membrane renamed to Corelum A-Type Thermal Energized Membrane
|
||||
Corpum C-Type Energized Adaptive Nano Membrane renamed to Corpum C-Type Multispectrum Energized Membrane
|
||||
Centum C-Type Energized Adaptive Nano Membrane renamed to Centum C-Type Multispectrum Energized Membrane
|
||||
Corpum C-Type Energized Kinetic Membrane renamed to Corpum C-Type Kinetic Energized Membrane
|
||||
Centum C-Type Energized Kinetic Membrane renamed to Centum C-Type Kinetic Energized Membrane
|
||||
Corpum C-Type Energized Explosive Membrane renamed to Corpum C-Type Explosive Energized Membrane
|
||||
Centum C-Type Energized Explosive Membrane renamed to Centum C-Type Explosive Energized Membrane
|
||||
Corpum C-Type Energized EM Membrane renamed to Corpum C-Type EM Energized Membrane
|
||||
Centum C-Type Energized EM Membrane renamed to Centum C-Type EM Energized Membrane
|
||||
Corpum C-Type Energized Thermal Membrane renamed to Corpum C-Type Thermal Energized Membrane
|
||||
Centum C-Type Energized Thermal Membrane renamed to Centum C-Type Thermal Energized Membrane
|
||||
Corpum B-Type Energized Adaptive Nano Membrane renamed to Corpum B-Type Multispectrum Energized Membrane
|
||||
Centum B-Type Energized Adaptive Nano Membrane renamed to Centum B-Type Multispectrum Energized Membrane
|
||||
Corpum B-Type Energized Kinetic Membrane renamed to Corpum B-Type Kinetic Energized Membrane
|
||||
Centum B-Type Energized Kinetic Membrane renamed to Centum B-Type Kinetic Energized Membrane
|
||||
Corpum B-Type Energized Explosive Membrane renamed to Corpum B-Type Explosive Energized Membrane
|
||||
Centum B-Type Energized Explosive Membrane renamed to Centum B-Type Explosive Energized Membrane
|
||||
Corpum B-Type Energized Thermal Membrane renamed to Corpum B-Type Thermal Energized Membrane
|
||||
Centum B-Type Energized Thermal Membrane renamed to Centum B-Type Thermal Energized Membrane
|
||||
Corpum A-Type Energized Thermal Membrane renamed to Corpum A-Type Thermal Energized Membrane
|
||||
Centum A-Type Energized Thermal Membrane renamed to Centum A-Type Thermal Energized Membrane
|
||||
Corpum A-Type Energized EM Membrane renamed to Corpum A-Type EM Energized Membrane
|
||||
Centum A-Type Energized EM Membrane renamed to Centum A-Type EM Energized Membrane
|
||||
Corpum A-Type Energized Explosive Membrane renamed to Corpum A-Type Explosive Energized Membrane
|
||||
Centum A-Type Energized Explosive Membrane renamed to Centum A-Type Explosive Energized Membrane
|
||||
Corpum A-Type Energized Kinetic Membrane renamed to Corpum A-Type Kinetic Energized Membrane
|
||||
Centum A-Type Energized Kinetic Membrane renamed to Centum A-Type Kinetic Energized Membrane
|
||||
Corpum A-Type Energized Adaptive Nano Membrane renamed to Corpum A-Type Multispectrum Energized Membrane
|
||||
Centum A-Type Energized Adaptive Nano Membrane renamed to Centum A-Type Multispectrum Energized Membrane
|
||||
Corpum B-Type Energized EM Membrane renamed to Corpum B-Type EM Energized Membrane
|
||||
Centum B-Type Energized EM Membrane renamed to Centum B-Type EM Energized Membrane
|
||||
'Pilfer' Energized Adaptive Nano Membrane I renamed to 'Pilfer' Multispectrum Energized Membrane
|
||||
'Moonshine' Energized Thermal Membrane I renamed to 'Moonshine' Thermal Energized Membrane
|
||||
'Mafia' Energized Kinetic Membrane I renamed to 'Mafia' Kinetic Energized Membrane
|
||||
Khanid Navy Energized Adaptive Nano Membrane renamed to Khanid Navy Multispectrum Energized Membrane
|
||||
Khanid Navy Energized Kinetic Membrane renamed to Khanid Navy Kinetic Energized Membrane
|
||||
Khanid Navy Energized Explosive Membrane renamed to Khanid Navy Explosive Energized Membrane
|
||||
Khanid Navy Energized EM Membrane renamed to Khanid Navy EM Energized Membrane
|
||||
Khanid Navy Energized Thermal Membrane renamed to Khanid Navy Thermal Energized Membrane
|
||||
Large Compact Vorton projector renamed to Large Compact Vorton Projector
|
||||
Experimental Energized Adaptive Nano Membrane I converted to Compact Multispectrum Energized Membrane
|
||||
Experimental Energized Armor Layering Membrane I converted to Compact Layered Energized Membrane
|
||||
Experimental Energized EM Membrane I converted to Compact EM Energized Membrane
|
||||
Experimental Energized Explosive Membrane I converted to Compact Explosive Energized Membrane
|
||||
Experimental Energized Kinetic Membrane I converted to Compact Kinetic Energized Membrane
|
||||
Experimental Energized Thermal Membrane I converted to Compact Thermal Energized Membrane
|
||||
Limited Energized Adaptive Nano Membrane I converted to Compact Multispectrum Energized Membrane
|
||||
Limited Energized Armor Layering Membrane I converted to Compact Layered Energized Membrane
|
||||
Limited Energized EM Membrane I converted to Compact EM Energized Membrane
|
||||
Limited Energized Explosive Membrane I converted to Compact Explosive Energized Membrane
|
||||
Limited Energized Kinetic Membrane I converted to Compact Kinetic Energized Membrane
|
||||
Limited Energized Thermal Membrane I converted to Compact Thermal Energized Membrane
|
||||
Upgraded Energized Adaptive Nano Membrane I converted to Compact Multispectrum Energized Membrane
|
||||
Upgraded Energized Armor Layering Membrane I converted to Compact Layered Energized Membrane
|
||||
Upgraded Energized EM Membrane I converted to Compact EM Energized Membrane
|
||||
Upgraded Energized Explosive Membrane I converted to Compact Explosive Energized Membrane
|
||||
Upgraded Energized Kinetic Membrane I converted to Compact Kinetic Energized Membrane
|
||||
Upgraded Energized Thermal Membrane I converted to Compact Thermal Energized Membrane
|
||||
'Stalwart' Particle Field Magnifier renamed to Stalwart Restrained Shield Boost Amplifier
|
||||
'Copasetic' Particle Field Acceleration renamed to Copasetic Compact Shield Boost Amplifier
|
||||
5a Prototype Shield Support I converted to Stalwart Restrained Shield Boost Amplifier
|
||||
Ionic Field Accelerator I converted to Copasetic Compact Shield Boost Amplifier
|
||||
"""
|
||||
|
||||
def main(old, new):
|
||||
|
||||
12
service/conversions/releaseSep2020.py
Normal file
12
service/conversions/releaseSep2020.py
Normal file
@@ -0,0 +1,12 @@
|
||||
"""
|
||||
Conversion pack for September 2020 release
|
||||
"""
|
||||
|
||||
CONVERSIONS = {
|
||||
# Renamed items
|
||||
"'Stalwart' Particle Field Magnifier": "Stalwart Restrained Shield Boost Amplifier",
|
||||
"'Copasetic' Particle Field Acceleration": "Copasetic Compact Shield Boost Amplifier",
|
||||
# Converted items
|
||||
"5a Prototype Shield Support I": "Stalwart Restrained Shield Boost Amplifier",
|
||||
"Ionic Field Accelerator I": "Copasetic Compact Shield Boost Amplifier"
|
||||
}
|
||||
@@ -627,6 +627,15 @@ laar:
|
||||
caar:
|
||||
- 'caar'
|
||||
- 'capital ancillary (.+ )?(?<!remote )armor repairer'
|
||||
25k:
|
||||
- '25k'
|
||||
- '25000'
|
||||
25kmm:
|
||||
- '25kmm'
|
||||
- '25000mm'
|
||||
25m:
|
||||
- '25m'
|
||||
- '25000mm'
|
||||
|
||||
# Hull modules
|
||||
dc:
|
||||
@@ -649,6 +658,18 @@ cehe:
|
||||
- 'capital (.+ )?emergency hull energizer'
|
||||
|
||||
# Propulsion modules and upgrades
|
||||
10k:
|
||||
- '10k'
|
||||
- '10000'
|
||||
10kmn:
|
||||
- '10kmn'
|
||||
- '10000mn'
|
||||
50k:
|
||||
- '50k'
|
||||
- '50000'
|
||||
50kmn:
|
||||
- '50kmn'
|
||||
- '50000mn'
|
||||
ab:
|
||||
- '(^| )ab' # Checking only beginning of a word to remove unwanted spam
|
||||
- 'afterburner'
|
||||
|
||||
@@ -25852,7 +25852,7 @@
|
||||
"displayName": "Missile Damage Bonus",
|
||||
"displayNameID": 311932,
|
||||
"highIsGood": 1,
|
||||
"iconID": 0,
|
||||
"iconID": 1397,
|
||||
"name": "siegeMissileDamageBonus",
|
||||
"published": 1,
|
||||
"stackable": 1,
|
||||
@@ -26319,7 +26319,7 @@
|
||||
"displayName": "Armor Repairer / Shield Booster Duration Bonus",
|
||||
"displayNameID": 312084,
|
||||
"highIsGood": 1,
|
||||
"iconID": 0,
|
||||
"iconID": 2104,
|
||||
"name": "siegeLocalLogisticsDurationBonus",
|
||||
"published": 1,
|
||||
"stackable": 1,
|
||||
@@ -26334,7 +26334,7 @@
|
||||
"displayName": "Armor Repairer / Shield Booster Amount Bonus",
|
||||
"displayNameID": 312085,
|
||||
"highIsGood": 1,
|
||||
"iconID": 0,
|
||||
"iconID": 2104,
|
||||
"name": "siegeLocalLogisticsAmountBonus",
|
||||
"published": 1,
|
||||
"stackable": 1,
|
||||
@@ -32576,5 +32576,19 @@
|
||||
"name": "shieldBoosterDurationBonus",
|
||||
"published": 0,
|
||||
"stackable": 0
|
||||
},
|
||||
"3101": {
|
||||
"attributeID": 3101,
|
||||
"categoryID": 1,
|
||||
"dataType": 11,
|
||||
"defaultValue": 0.0,
|
||||
"description": "Describes which type of deed fits in this structure",
|
||||
"displayName": "Quantum Core Type",
|
||||
"displayNameID": 569361,
|
||||
"highIsGood": 0,
|
||||
"name": "structureRequiresDeedType",
|
||||
"published": 1,
|
||||
"stackable": 0,
|
||||
"unitID": 116
|
||||
}
|
||||
}
|
||||
@@ -79525,5 +79525,69 @@
|
||||
"propulsionChance": 0,
|
||||
"published": 0,
|
||||
"rangeChance": 0
|
||||
},
|
||||
"8088": {
|
||||
"disallowAutoRepeat": 0,
|
||||
"dischargeAttributeID": 6,
|
||||
"distribution": 2,
|
||||
"durationAttributeID": 51,
|
||||
"effectCategory": 2,
|
||||
"effectID": 8088,
|
||||
"effectName": "EntityChainLightning",
|
||||
"electronicChance": 0,
|
||||
"guid": "effects.AttackMode",
|
||||
"isAssistance": 0,
|
||||
"isOffensive": 1,
|
||||
"isWarpSafe": 0,
|
||||
"propulsionChance": 0,
|
||||
"published": 0,
|
||||
"rangeAttributeID": 54,
|
||||
"rangeChance": 0
|
||||
},
|
||||
"8091": {
|
||||
"disallowAutoRepeat": 0,
|
||||
"effectCategory": 0,
|
||||
"effectID": 8091,
|
||||
"effectName": "shipBonusForceAuxiliaryG2CapBoosterStrength",
|
||||
"electronicChance": 0,
|
||||
"isAssistance": 0,
|
||||
"isOffensive": 0,
|
||||
"isWarpSafe": 0,
|
||||
"modifierInfo": [
|
||||
{
|
||||
"domain": "shipID",
|
||||
"func": "LocationGroupModifier",
|
||||
"groupID": 87,
|
||||
"modifiedAttributeID": 67,
|
||||
"modifyingAttributeID": 2315,
|
||||
"operation": 6
|
||||
}
|
||||
],
|
||||
"propulsionChance": 0,
|
||||
"published": 0,
|
||||
"rangeChance": 0
|
||||
},
|
||||
"8092": {
|
||||
"disallowAutoRepeat": 0,
|
||||
"effectCategory": 0,
|
||||
"effectID": 8092,
|
||||
"effectName": "shipBonusForceAuxiliaryM2CapBoosterStrength",
|
||||
"electronicChance": 0,
|
||||
"isAssistance": 0,
|
||||
"isOffensive": 0,
|
||||
"isWarpSafe": 0,
|
||||
"modifierInfo": [
|
||||
{
|
||||
"domain": "shipID",
|
||||
"func": "LocationGroupModifier",
|
||||
"groupID": 87,
|
||||
"modifiedAttributeID": 67,
|
||||
"modifyingAttributeID": 2318,
|
||||
"operation": 6
|
||||
}
|
||||
],
|
||||
"propulsionChance": 0,
|
||||
"published": 0,
|
||||
"rangeChance": 0
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16182,5 +16182,54 @@
|
||||
"name": "Proving Ground Filaments",
|
||||
"nameID": 567624,
|
||||
"parentGroupID": 2456
|
||||
},
|
||||
"2749": {
|
||||
"description": "Quantum Cores are FTL communications facillities vital to the efficient operation of Upwell structures.",
|
||||
"descriptionID": 569752,
|
||||
"hasTypes": 1,
|
||||
"iconID": 21729,
|
||||
"name": "Quantum Cores",
|
||||
"nameID": 569644,
|
||||
"parentGroupID": 2202
|
||||
},
|
||||
"2750": {
|
||||
"description": "Capital Astronautic Mutaplasmids",
|
||||
"descriptionID": 569939,
|
||||
"hasTypes": 1,
|
||||
"name": "Capital Astronautic Mutaplasmids",
|
||||
"nameID": 569938,
|
||||
"parentGroupID": 2439
|
||||
},
|
||||
"2751": {
|
||||
"description": "Capital Armor Mutaplasmids",
|
||||
"descriptionID": 569941,
|
||||
"hasTypes": 1,
|
||||
"name": "Capital Armor Mutaplasmids",
|
||||
"nameID": 569940,
|
||||
"parentGroupID": 2437
|
||||
},
|
||||
"2752": {
|
||||
"description": "Capital Shield Mutaplasmids",
|
||||
"descriptionID": 569944,
|
||||
"hasTypes": 1,
|
||||
"name": "Capital Shield Mutaplasmids",
|
||||
"nameID": 569943,
|
||||
"parentGroupID": 2438
|
||||
},
|
||||
"2753": {
|
||||
"description": "Capital Engineering Mutaplasmids",
|
||||
"descriptionID": 569946,
|
||||
"hasTypes": 1,
|
||||
"name": "Capital Engineering Mutaplasmids",
|
||||
"nameID": 569945,
|
||||
"parentGroupID": 2440
|
||||
},
|
||||
"2754": {
|
||||
"description": "Siege Module Mutaplasmids",
|
||||
"descriptionID": 569952,
|
||||
"hasTypes": 1,
|
||||
"name": "Siege Module Mutaplasmids",
|
||||
"nameID": 569951,
|
||||
"parentGroupID": 2512
|
||||
}
|
||||
}
|
||||
@@ -25645,5 +25645,79 @@
|
||||
},
|
||||
"55977": {
|
||||
"3402": 1
|
||||
},
|
||||
"56128": {
|
||||
"3402": 1
|
||||
},
|
||||
"56129": {
|
||||
"3402": 1
|
||||
},
|
||||
"56130": {
|
||||
"3402": 1
|
||||
},
|
||||
"56179": {
|
||||
"3402": 1
|
||||
},
|
||||
"56180": {
|
||||
"3402": 1
|
||||
},
|
||||
"56181": {
|
||||
"3402": 1
|
||||
},
|
||||
"56182": {
|
||||
"3402": 1
|
||||
},
|
||||
"56183": {
|
||||
"3402": 1
|
||||
},
|
||||
"56184": {
|
||||
"3402": 1
|
||||
},
|
||||
"56185": {
|
||||
"3402": 1
|
||||
},
|
||||
"56186": {
|
||||
"3402": 1
|
||||
},
|
||||
"56187": {
|
||||
"3402": 1
|
||||
},
|
||||
"56303": {
|
||||
"3435": 5,
|
||||
"3449": 5
|
||||
},
|
||||
"56304": {
|
||||
"3435": 5
|
||||
},
|
||||
"56305": {
|
||||
"3450": 4
|
||||
},
|
||||
"56306": {
|
||||
"3454": 4
|
||||
},
|
||||
"56307": {
|
||||
"21803": 4
|
||||
},
|
||||
"56308": {
|
||||
"3392": 3,
|
||||
"21803": 1
|
||||
},
|
||||
"56309": {
|
||||
"21802": 4
|
||||
},
|
||||
"56310": {
|
||||
"21802": 4
|
||||
},
|
||||
"56311": {
|
||||
"3423": 5
|
||||
},
|
||||
"56312": {
|
||||
"3423": 5
|
||||
},
|
||||
"56313": {
|
||||
"22043": 1
|
||||
},
|
||||
"56362": {
|
||||
"11584": 1
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1373,39 +1373,33 @@
|
||||
},
|
||||
"80": {
|
||||
"aggregateMode": "Minimum",
|
||||
"developerDescription": "AOE_Beacon_caustic_cloud_local_repair",
|
||||
"displayName": "Local Armor Repairer penalty",
|
||||
"developerDescription": "AOE_Beacon_caustic_cloud_inertia",
|
||||
"displayName": "Inertia Bonus",
|
||||
"displayNameID": 532902,
|
||||
"itemModifiers": [],
|
||||
"locationGroupModifiers": [],
|
||||
"locationModifiers": [],
|
||||
"locationRequiredSkillModifiers": [
|
||||
"itemModifiers": [
|
||||
{
|
||||
"dogmaAttributeID": 84,
|
||||
"skillID": 3393
|
||||
"dogmaAttributeID": 70
|
||||
}
|
||||
],
|
||||
"locationGroupModifiers": [],
|
||||
"locationModifiers": [],
|
||||
"locationRequiredSkillModifiers": [],
|
||||
"operationName": "PostPercent",
|
||||
"showOutputValueInUI": "ShowNormal"
|
||||
},
|
||||
"81": {
|
||||
"aggregateMode": "Minimum",
|
||||
"developerDescription": "AOE_Beacon_caustic_cloud_remote_repair",
|
||||
"displayName": "Remote Armor Repairer penalty",
|
||||
"developerDescription": "AOE_Beacon_caustic_cloud_velocity",
|
||||
"displayName": "Max Velocity Bonus",
|
||||
"displayNameID": 532901,
|
||||
"itemModifiers": [
|
||||
{
|
||||
"dogmaAttributeID": 84
|
||||
"dogmaAttributeID": 37
|
||||
}
|
||||
],
|
||||
"locationGroupModifiers": [],
|
||||
"locationModifiers": [],
|
||||
"locationRequiredSkillModifiers": [
|
||||
{
|
||||
"dogmaAttributeID": 84,
|
||||
"skillID": 16069
|
||||
}
|
||||
],
|
||||
"locationRequiredSkillModifiers": [],
|
||||
"operationName": "PostPercent",
|
||||
"showOutputValueInUI": "ShowNormal"
|
||||
},
|
||||
|
||||
@@ -9791,6 +9791,17 @@
|
||||
"published": true,
|
||||
"useBasePrice": true
|
||||
},
|
||||
"4086": {
|
||||
"anchorable": false,
|
||||
"anchored": false,
|
||||
"categoryID": 66,
|
||||
"fittableNonSingleton": false,
|
||||
"groupID": 4086,
|
||||
"groupName": "Quantum Cores",
|
||||
"groupNameID": 569641,
|
||||
"published": true,
|
||||
"useBasePrice": true
|
||||
},
|
||||
"409": {
|
||||
"anchorable": false,
|
||||
"anchored": false,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,10 @@
|
||||
[
|
||||
{
|
||||
"field_name": "client_build",
|
||||
"field_value": 1792574
|
||||
"field_value": 1806850
|
||||
},
|
||||
{
|
||||
"field_name": "dump_time",
|
||||
"field_value": 1598343032
|
||||
"field_value": 1600282684
|
||||
}
|
||||
]
|
||||
@@ -5634,6 +5634,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle"
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires an Astrahus Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -5688,6 +5691,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle"
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Keepstar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -5715,6 +5721,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires an Athanor Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -5750,6 +5759,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Tatara Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -9676,7 +9688,7 @@
|
||||
},
|
||||
{
|
||||
"number": "7.5%",
|
||||
"text": "bonus to Armor Repairer amount"
|
||||
"text": "bonus to Armor Repairer and Capacitor Booster amount"
|
||||
},
|
||||
{
|
||||
"number": "1%",
|
||||
@@ -9730,7 +9742,7 @@
|
||||
},
|
||||
{
|
||||
"number": "7.5%",
|
||||
"text": "bonus to Shield Booster amount"
|
||||
"text": "bonus to Shield Booster and Capacitor Booster amount"
|
||||
},
|
||||
{
|
||||
"number": "1%",
|
||||
@@ -10331,6 +10343,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -10367,6 +10382,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -10399,6 +10417,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -10435,6 +10456,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -10463,6 +10487,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·This structure is able to maintain a low-power state indefinitely, and so will not lapse to into an abandoned state."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -12092,6 +12119,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle"
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Fortizar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -16308,6 +16338,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·Only one Upwell Palatine Keepstar may be deployed at a time in New Eden"
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Keepstar Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -20830,6 +20863,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Sotiyo Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -20863,6 +20899,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires an Azbel Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
@@ -20892,6 +20931,9 @@
|
||||
},
|
||||
{
|
||||
"text": "·While this structure has at least one online service module it enters full power mode and will gain increased shield and armor hitpoints and an extra reinforcement cycle."
|
||||
},
|
||||
{
|
||||
"text": "·This structure requires a Raitaru Upwell Quantum Core to be installed for anchoring to complete"
|
||||
}
|
||||
],
|
||||
"header": "Role Bonus:"
|
||||
|
||||
@@ -1 +1 @@
|
||||
version: v2.27.0
|
||||
version: v2.28.3dev1
|
||||
|
||||
Reference in New Issue
Block a user