Skip to content

Commit

Permalink
Merge branch 'master' into wx3
Browse files Browse the repository at this point in the history
Conflicts:
	pyfa.py
  • Loading branch information
blitzmann committed Jun 27, 2015
2 parents 030f22b + 646f3af commit 6d01877
Show file tree
Hide file tree
Showing 60 changed files with 670 additions and 372 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ It provides many advanced features such as graphs and full calculations of any p

Please see the [FAQ](https://github.com/DarkFenX/Pyfa/wiki/FAQ) for answers to common questions / concerns

#### A note for Linux users
pyfa currently only supports wxPython 2.8. However, there are some distros that have started to support 3.0 and subsequently dropped support for 2.8 altogether (such as Debian Jessie). If this is the case and wxPython 3.0 is the only version installed, the official pyfa releases will not run. You must either find a package for 2.8 or compile it yourself.

For Debian Jessie, wxPython 2.8 is available in Sid (the unstable repo). you can use apt-pinning to install select packages from unstable and still keep your stable system. See http://jaqque.sbih.org/kplug/apt-pinning.html for me details.

3.0 support is being worked on and can be found on the wx3 branch. It may be stable enough for you, but there are a few bugs related to it. Please see the wx3 label on the GitHub issues area for me information on known issues (biggest one currently is GTK warning spam): https://github.com/DarkFenX/Pyfa/labels/wx3

#### Links
* [Development repository: http://github.com/DarkFenX/Pyfa](http://github.com/DarkFenX/Pyfa)
* [XMPP conference:
Expand Down
4 changes: 2 additions & 2 deletions config.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
saveInRoot = False

# Version data
version = "1.11.1"
version = "1.12.1"
tag = "git"
expansionName = "Mosaic"
expansionName = "Carnyx"
expansionVersion = "1.0"
evemonMinVersion = "4081"

Expand Down
88 changes: 88 additions & 0 deletions eos/db/migrations/upgrade8.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
"""
Migration 4
- Converts modules based on Proteus Module Tiericide
Some modules have been unpublished (and unpublished module attributes are removed
from database), which causes pyfa to crash. We therefore replace these
modules with their new replacements
Based on http://community.eveonline.com/news/patch-notes/patch-notes-for-proteus/
and output of itemDiff.py
"""


CONVERSIONS = {
8529: ( # Large F-S9 Regolith Compact Shield Extender
8409, # Large Subordinate Screen Stabilizer I
),
8419: ( # Large Azeotropic Restrained Shield Extender
8489, # Large Supplemental Barrier Emitter I
),
8517: ( # Medium F-S9 Regolith Compact Shield Extender
8397, # Medium Subordinate Screen Stabilizer I
),
8433: ( # Medium Azeotropic Restrained Shield Extender
8477, # Medium Supplemental Barrier Emitter I
),
20627: ( # Small 'Trapper' Shield Extender
8437, # Micro Azeotropic Ward Salubrity I
8505, # Micro F-S9 Regolith Shield Induction
3849, # Micro Shield Extender I
3851, # Micro Shield Extender II
8387, # Micro Subordinate Screen Stabilizer I
8465, # Micro Supplemental Barrier Emitter I
),
8521: ( # Small F-S9 Regolith Compact Shield Extender
8401, # Small Subordinate Screen Stabilizer I
),
8427: ( # Small Azeotropic Restrained Shield Extender
8481, # Small Supplemental Barrier Emitter I
),
11343: ( # 100mm Crystalline Carbonide Restrained Plates
11345, # 100mm Reinforced Nanofiber Plates I
),
11341: ( # 100mm Rolled Tungsten Compact Plates
11339, # 100mm Reinforced Titanium Plates I
),
11327: ( # 1600mm Crystalline Carbonide Restrained Plates
11329, # 1600mm Reinforced Nanofiber Plates I
),
11325: ( # 1600mm Rolled Tungsten Compact Plates
11323, # 1600mm Reinforced Titanium Plates I
),
11351: ( # 200mm Crystalline Carbonide Restrained Plates
11353, # 200mm Reinforced Nanofiber Plates I
),
11349: ( # 200mm Rolled Tungsten Compact Plates
11347, # 200mm Reinforced Titanium Plates I
),
11311: ( # 400mm Crystalline Carbonide Restrained Plates
11313, # 400mm Reinforced Nanofiber Plates I
),
11309: ( # 400mm Rolled Tungsten Compact Plates
11307, # 400mm Reinforced Titanium Plates I
),
23791: ( # 'Citadella' 100mm Steel Plates
11335, # 50mm Reinforced Crystalline Carbonide Plates I
11337, # 50mm Reinforced Nanofiber Plates I
11333, # 50mm Reinforced Rolled Tungsten Plates I
11291, # 50mm Reinforced Steel Plates I
20343, # 50mm Reinforced Steel Plates II
11331, # 50mm Reinforced Titanium Plates I
),
11319: ( # 800mm Crystalline Carbonide Restrained Plates
11321, # 800mm Reinforced Nanofiber Plates I
),
11317: ( # 800mm Rolled Tungsten Compact Plates
11315, # 800mm Reinforced Titanium Plates I
),
}

def upgrade(saveddata_engine):

# Convert modules
for replacement_item, list in CONVERSIONS.iteritems():
for retired_item in list:
saveddata_engine.execute('UPDATE "modules" SET "itemID" = ? WHERE "itemID" = ?', (replacement_item, retired_item))
saveddata_engine.execute('UPDATE "cargo" SET "itemID" = ? WHERE "itemID" = ?', (replacement_item, retired_item))

2 changes: 1 addition & 1 deletion eos/effects/addtosignatureradius2.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# Used by:
# Modules from group: Missile Launcher Bomb (2 of 2)
# Modules from group: Shield Extender (37 of 37)
# Modules from group: Shield Extender (25 of 25)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusAdd"))
2 changes: 1 addition & 1 deletion eos/effects/armorhpbonusadd.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# armorHPBonusAdd
#
# Used by:
# Modules from group: Armor Reinforcer (57 of 57)
# Modules from group: Armor Reinforcer (38 of 38)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd"))
2 changes: 1 addition & 1 deletion eos/effects/armorreinforcermassadd.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# armorReinforcerMassAdd
#
# Used by:
# Modules from group: Armor Reinforcer (57 of 57)
# Modules from group: Armor Reinforcer (38 of 38)
# Modules from group: Entosis Link (2 of 2)
type = "passive"
def handler(fit, module, context):
Expand Down
2 changes: 1 addition & 1 deletion eos/effects/capacitorcapacitymultiply.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# 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 (107 of 107)
# Modules from group: Propulsion Module (114 of 114)
# Modules from group: Reactor Control Unit (22 of 22)
# Modules from group: Shield Flux Coil (11 of 11)
# Modules from group: Shield Power Relay (11 of 11)
Expand Down
12 changes: 12 additions & 0 deletions eos/effects/entosisdurationmultiply.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# entosisDurationMultiply
#
# Used by:
# Ships from group: Carrier (4 of 4)
# Ships from group: Dreadnought (4 of 4)
# Ships from group: Supercarrier (5 of 5)
# Ships from group: Titan (4 of 4)
# Ship: Rorqual
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Infomorph Psychology"),
"duration", ship.getModifiedItemAttr("entosisDurationMultiplier") or 1)
1 change: 1 addition & 0 deletions eos/effects/minmatarshipewtargetpaintermc1.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
# Used by:
# Ship: Bellicose
# Ship: Rapier
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Minmatar Cruiser").level
Expand Down
1 change: 0 additions & 1 deletion eos/effects/minmatarshipewtargetpaintermc2.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#
# Used by:
# Ship: Huginn
# Ship: Rapier
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Minmatar Cruiser").level
Expand Down
2 changes: 1 addition & 1 deletion eos/effects/modeagilitypostdiv.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# modeAgilityPostDiv
#
# Used by:
# Modules named like: Propulsion Mode (2 of 2)
# Modules named like: Propulsion Mode (3 of 3)
type = "passive"
def handler(fit, module, context):
fit.ship.multiplyItemAttr(
Expand Down
3 changes: 2 additions & 1 deletion eos/effects/modearmorresonancepostdiv.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# modeArmorResonancePostDiv
#
# Used by:
# Modules named like: Defense Mode (2 of 2)
# Module: Confessor Defense Mode
# Module: Svipul Defense Mode
type = "passive"
def handler(fit, module, context):
for srcResType, tgtResType in (
Expand Down
1 change: 1 addition & 0 deletions eos/effects/modeshieldresonancepostdiv.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# modeShieldResonancePostDiv
#
# Used by:
# Module: Jackdaw Defense Mode
# Module: Svipul Defense Mode
type = "passive"
def handler(fit, module, context):
Expand Down
5 changes: 3 additions & 2 deletions eos/effects/modesigradiuspostdiv.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
#
# Used by:
# Module: Confessor Defense Mode
# Module: Jackdaw Defense Mode
type = "passive"
def handler(fit, module, context):
fit.ship.multiplyItemAttr("signatureRadius", 1/module.getModifiedItemAttr("modeSignatureRadiusPostDiv"),
stackingPenalties = True, penaltyGroup="postDiv")
fit.ship.multiplyItemAttr("signatureRadius", 1 / module.getModifiedItemAttr("modeSignatureRadiusPostDiv"),
stackingPenalties=True, penaltyGroup="postDiv")
2 changes: 1 addition & 1 deletion eos/effects/modevelocitypostdiv.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# modeVelocityPostDiv
#
# Used by:
# Modules named like: Propulsion Mode (2 of 2)
# Modules named like: Propulsion Mode (3 of 3)
type = "passive"
def handler(fit, module, context):
fit.ship.multiplyItemAttr(
Expand Down
2 changes: 1 addition & 1 deletion eos/effects/overloadselfspeedbonus.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# overloadSelfSpeedBonus
#
# Used by:
# Modules from group: Propulsion Module (107 of 107)
# Modules from group: Propulsion Module (114 of 114)
type = "overheat"
def handler(fit, module, context):
module.boostItemAttr("speedFactor", module.getModifiedItemAttr("overloadSpeedFactorBonus"),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# probeLauncherCPUPercentBonusTacticalDestroyer
#
# Used by:
# Ships from group: Tactical Destroyer (2 of 2)
# Ships from group: Tactical Destroyer (3 of 3)
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"),
Expand Down
2 changes: 1 addition & 1 deletion eos/effects/shieldcapacitybonusonline.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# Used by:
# Modules from group: Shield Amplifier (88 of 88)
# Modules from group: Shield Extender (37 of 37)
# Modules from group: Shield Extender (25 of 25)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("shieldCapacity", module.getModifiedItemAttr("capacityBonus"))
11 changes: 11 additions & 0 deletions eos/effects/shipbonusheavyassaultmissilealldamagemc2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# shipBonusHeavyAssaultMissileAllDamageMC2
#
# Used by:
# Ship: Rapier
# Ship: Scythe Fleet Issue
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Minmatar Cruiser").level
for damageType in ("em", "explosive", "kinetic", "thermal"):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
"{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusMC2") * level)
11 changes: 11 additions & 0 deletions eos/effects/shipbonusheavymissilealldamagemc2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# shipBonusHeavyMissileAllDamageMC2
#
# Used by:
# Ship: Rapier
# Ship: Scythe Fleet Issue
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Minmatar Cruiser").level
for damageType in ("em", "explosive", "kinetic", "thermal"):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
"{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusMC2") * level)
11 changes: 11 additions & 0 deletions eos/effects/shipbonuslightmissilealldamagemc2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# shipBonusLightMissileAllDamageMC2
#
# Used by:
# Ship: Rapier
# Ship: Scythe Fleet Issue
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Minmatar Cruiser").level
for damageType in ("em", "explosive", "kinetic", "thermal"):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
"{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusMC2") * level)
5 changes: 5 additions & 0 deletions eos/effects/shipbonusrhmlrofcb.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Battleship").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Heavy",
"speed", ship.getModifiedItemAttr("shipBonusCB") * level)
9 changes: 9 additions & 0 deletions eos/effects/shipheatdamagecaldaritacticaldestroyer3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# shipHeatDamageCaldariTacticalDestroyer3
#
# Used by:
# Ship: Jackdaw
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Tactical Destroyer").level
fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
ship.getModifiedItemAttr("shipBonusTacticalDestroyerCaldari3") * level)
9 changes: 0 additions & 9 deletions eos/effects/shipmissilebonusemdmgmc.py

This file was deleted.

9 changes: 0 additions & 9 deletions eos/effects/shipmissilebonusexpdmgmc.py

This file was deleted.

9 changes: 0 additions & 9 deletions eos/effects/shipmissilebonuskindmgmc.py

This file was deleted.

9 changes: 0 additions & 9 deletions eos/effects/shipmissilebonusthermdmgmc.py

This file was deleted.

9 changes: 0 additions & 9 deletions eos/effects/shipmissileemdamagemc2.py

This file was deleted.

9 changes: 0 additions & 9 deletions eos/effects/shipmissileexpdamagemc2.py

This file was deleted.

9 changes: 0 additions & 9 deletions eos/effects/shipmissilekineticdamagemc2.py

This file was deleted.

9 changes: 9 additions & 0 deletions eos/effects/shipmissilereloadtimecaldaritacticaldestroyer2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# shipMissileReloadTimeCaldariTacticalDestroyer2
#
# Used by:
# Ship: Jackdaw
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Tactical Destroyer").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
"reloadTime", ship.getModifiedItemAttr("shipBonusTacticalDestroyerCaldari2") * level)
Loading

0 comments on commit 6d01877

Please sign in to comment.