diff --git a/eos/effects/shipbonuscarriera1armorresists.py b/eos/effects/shipbonuscarriera1armorresists.py new file mode 100644 index 000000000..01e12a0d2 --- /dev/null +++ b/eos/effects/shipbonuscarriera1armorresists.py @@ -0,0 +1,6 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"), skill="Amarr Carrier") + fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"), skill="Amarr Carrier") + fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"), skill="Amarr Carrier") + fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"), skill="Amarr Carrier") diff --git a/eos/effects/shipbonuscarriera2supportfighterbonus.py b/eos/effects/shipbonuscarriera2supportfighterbonus.py new file mode 100644 index 000000000..87b288278 --- /dev/null +++ b/eos/effects/shipbonuscarriera2supportfighterbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange", src.getModifiedItemAttr("shipBonusCarrierA2"), skill="Amarr Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterAbilityEnergyNeutralizerOptimalRange", src.getModifiedItemAttr("shipBonusCarrierA2"), skill="Amarr Carrier") diff --git a/eos/effects/shipbonuscarriera4warfarelinksbonus.py b/eos/effects/shipbonuscarriera4warfarelinksbonus.py new file mode 100644 index 000000000..a3711af05 --- /dev/null +++ b/eos/effects/shipbonuscarriera4warfarelinksbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierA4"), skill="Amarr Carrier") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierA4"), skill="Amarr Carrier") diff --git a/eos/effects/shipbonuscarrierc1shieldresists.py b/eos/effects/shipbonuscarrierc1shieldresists.py new file mode 100644 index 000000000..44a3003bc --- /dev/null +++ b/eos/effects/shipbonuscarrierc1shieldresists.py @@ -0,0 +1,6 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"), skill="Caldari Carrier") + fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"), skill="Caldari Carrier") + fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"), skill="Caldari Carrier") + fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"), skill="Caldari Carrier") diff --git a/eos/effects/shipbonuscarrierc2supportfighterbonus.py b/eos/effects/shipbonuscarrierc2supportfighterbonus.py new file mode 100644 index 000000000..6f2ab33ca --- /dev/null +++ b/eos/effects/shipbonuscarrierc2supportfighterbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange", src.getModifiedItemAttr("shipBonusCarrierC2"), skill="Caldari Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterAbilityECMRangeOptimal", src.getModifiedItemAttr("shipBonusCarrierC2"), skill="Caldari Carrier") diff --git a/eos/effects/shipbonuscarrierc4warfarelinksbonus.py b/eos/effects/shipbonuscarrierc4warfarelinksbonus.py new file mode 100644 index 000000000..7aea00cab --- /dev/null +++ b/eos/effects/shipbonuscarrierc4warfarelinksbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Siege Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierC4"), skill="Caldari Carrier") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierC4"), skill="Caldari Carrier") diff --git a/eos/effects/shipbonuscarrierg1fighterdamageandhitpoints.py b/eos/effects/shipbonuscarrierg1fighterdamageandhitpoints.py new file mode 100644 index 000000000..f8bfb542c --- /dev/null +++ b/eos/effects/shipbonuscarrierg1fighterdamageandhitpoints.py @@ -0,0 +1,6 @@ +type = "passive" +def handler(fit, src, context): + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesDamageMultiplier", src.getModifiedItemAttr("shipBonusCarrierG1"), skill="Gallente Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityAttackTurretDamageMultiplier", src.getModifiedItemAttr("shipBonusCarrierG1"), skill="Gallente Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "shieldCapacity", src.getModifiedItemAttr("shipBonusCarrierG1"), skill="Gallente Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityAttackMissileDamageMultiplier", src.getModifiedItemAttr("shipBonusCarrierG1"), skill="Gallente Carrier") diff --git a/eos/effects/shipbonuscarrierg2supportfighterbonus.py b/eos/effects/shipbonuscarrierg2supportfighterbonus.py new file mode 100644 index 000000000..685357fe3 --- /dev/null +++ b/eos/effects/shipbonuscarrierg2supportfighterbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange", src.getModifiedItemAttr("shipBonusCarrierG2"), skill="Gallente Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterAbilityWarpDisruptionRange", src.getModifiedItemAttr("shipBonusCarrierG2"), skill="Gallente Carrier") diff --git a/eos/effects/shipbonuscarrierg4warfarelinksbonus.py b/eos/effects/shipbonuscarrierg4warfarelinksbonus.py new file mode 100644 index 000000000..26deef6a7 --- /dev/null +++ b/eos/effects/shipbonuscarrierg4warfarelinksbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierG4"), skill="Gallente Carrier") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierG4"), skill="Gallente Carrier") diff --git a/eos/effects/shipbonuscarrierm1fighterdamageandvelocity.py b/eos/effects/shipbonuscarrierm1fighterdamageandvelocity.py new file mode 100644 index 000000000..6d2175864 --- /dev/null +++ b/eos/effects/shipbonuscarrierm1fighterdamageandvelocity.py @@ -0,0 +1,6 @@ +type = "passive" +def handler(fit, src, context): + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "maxVelocity", src.getModifiedItemAttr("shipBonusCarrierM1"), skill="Minmatar Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesDamageMultiplier", src.getModifiedItemAttr("shipBonusCarrierM1"), skill="Minmatar Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityAttackTurretDamageMultiplier", src.getModifiedItemAttr("shipBonusCarrierM1"), skill="Minmatar Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityAttackMissileDamageMultiplier", src.getModifiedItemAttr("shipBonusCarrierM1"), skill="Minmatar Carrier") diff --git a/eos/effects/shipbonuscarrierm2supportfighterbonus.py b/eos/effects/shipbonuscarrierm2supportfighterbonus.py new file mode 100644 index 000000000..53bfa558e --- /dev/null +++ b/eos/effects/shipbonuscarrierm2supportfighterbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange", src.getModifiedItemAttr("shipBonusCarrierM2"), skill="Minmatar Carrier") + fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterAbilityStasisWebifierOptimalRange", src.getModifiedItemAttr("shipBonusCarrierM2"), skill="Minmatar Carrier") diff --git a/eos/effects/shipbonuscarrierm4warfarelinksbonus.py b/eos/effects/shipbonuscarrierm4warfarelinksbonus.py new file mode 100644 index 000000000..f85e93739 --- /dev/null +++ b/eos/effects/shipbonuscarrierm4warfarelinksbonus.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierM4"), skill="Minmatar Carrier") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Siege Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("shipBonusCarrierM4"), skill="Minmatar Carrier") diff --git a/eos/effects/shipbonuscarrierrole1numwarfarelinks.py b/eos/effects/shipbonuscarrierrole1numwarfarelinks.py new file mode 100644 index 000000000..c07ac5ccc --- /dev/null +++ b/eos/effects/shipbonuscarrierrole1numwarfarelinks.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupActive", src.getModifiedItemAttr("shipBonusRole1")) diff --git a/eve.db b/eve.db index 3fa5bea0c..a4d0d390c 100644 Binary files a/eve.db and b/eve.db differ diff --git a/gui/itemStats.py b/gui/itemStats.py index d0ef2db3f..0f2b26eeb 100644 --- a/gui/itemStats.py +++ b/gui/itemStats.py @@ -24,7 +24,7 @@ from gui.bitmapLoader import BitmapLoader import sys import wx.lib.mixins.listctrl as listmix import wx.html -from eos.types import Fit, Ship, Module, Skill, Booster, Implant, Drone, Mode +from eos.types import Fit, Ship, Module, Skill, Booster, Implant, Drone, Mode, Fighter from gui.utils.numberFormatter import formatAmount import service import config @@ -242,6 +242,10 @@ class ItemDescription ( wx.Panel ): fgcolor = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOWTEXT) self.description = wx.html.HtmlWindow(self) + + if not item.description: + return + desc = item.description.replace("\r", "
") # Strip font tags desc = re.sub("<( *)font( *)color( *)=(.*?)>(?P.*?)<( *)/( *)font( *)>", "\g", desc) @@ -557,7 +561,7 @@ class ItemEffects (wx.Panel): class ItemAffectedBy (wx.Panel): - ORDER = [Fit, Ship, Mode, Module, Drone, Implant, Booster, Skill] + ORDER = [Fit, Ship, Mode, Module, Drone, Fighter, Implant, Booster, Skill] def __init__(self, parent, stuff, item): wx.Panel.__init__(self, parent) self.stuff = stuff