Compare commits

...

5 Commits

Author SHA1 Message Date
DarkPhoenix
2903c7e0ca Do not penalize effects modifying structure resistance 2014-03-20 22:47:42 +04:00
DarkPhoenix
e00941b2c5 Do not penalize siege module bonus 2014-03-18 22:02:19 +04:00
blitzmann
ffaa707ea9 Fix #62 2014-03-17 18:13:29 -04:00
blitzmann
7337d54511 Added fit import from copied eve chat 2014-03-16 23:57:52 -04:00
blitzmann
dd395aff03 Dev version 2014-03-15 23:40:33 -04:00
6 changed files with 16 additions and 11 deletions

View File

@@ -13,8 +13,8 @@ debug = False
saveInRoot = False
# Version data
version = "1.1.22"
tag = "Stable"
version = "1.1.23"
tag = "git"
expansionName = "Rubicon"
expansionVersion = "1.3"
evemonMinVersion = "4081"

View File

@@ -53,8 +53,7 @@ def checkFitBooster(saveddata_engine):
try:
saveddata_engine.execute("SELECT booster FROM fits LIMIT 1")
# If we don't, create them
# This is ugly as hell, but we can't use proper migrate packages as it
# will require us to rebuild skeletons, including mac
except sqlalchemy.exc.DatabaseError:
saveddata_engine.execute("ALTER TABLE fits ADD COLUMN booster BOOLEAN;")
saveddata_engine.execute("UPDATE fits SET booster = 0;")
# Set NULL data to 0 (needed in case of downgrade, see GH issue #62
saveddata_engine.execute("UPDATE fits SET booster = 0 WHERE booster IS NULL;")

View File

@@ -7,5 +7,6 @@ def handler(fit, module, context):
bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
booster = "%s%sDamageResonance" % (layer, damageType)
penalize = False if layer == 'hull' else True
fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),
stackingPenalties=True, penaltyGroup="preMul")
stackingPenalties=penalize, penaltyGroup="preMul")

View File

@@ -9,8 +9,9 @@ def handler(fit, module, context):
bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
booster = "%s%sDamageResonance" % (layer, damageType)
penalize = False if layer == 'hull' else True
fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),
stackingPenalties=True, penaltyGroup="preMul")
stackingPenalties=penalize, penaltyGroup="preMul")
# Turrets
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret") or \

View File

@@ -7,14 +7,12 @@ def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret") or \
mod.item.requiresSkill("Capital Hybrid Turret") or \
mod.item.requiresSkill("Capital Projectile Turret"),
"damageMultiplier", module.getModifiedItemAttr("damageMultiplierBonus"),
stackingPenalties=True)
"damageMultiplier", module.getModifiedItemAttr("damageMultiplierBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret") or \
mod.item.requiresSkill("Capital Hybrid Turret") or \
mod.item.requiresSkill("Capital Projectile Turret"),
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
stackingPenalties=True)
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"))
#Missiles
for type in ("kinetic", "thermal", "explosive", "em"):

View File

@@ -74,6 +74,12 @@ class Fit(object):
# to avoid possible detection errors
firstLine = re.split("[\n\r]+", string, maxsplit=1)[0]
firstLine = firstLine.strip()
# If we have "<url=fitting", fit is coming from eve chat
# Gather data and send to DNA
chatDna = re.search("<url=fitting:(.*::)>.*</url>", firstLine)
if chatDna:
return "DNA", (cls.importDna(chatDna.group(1)),)
# If XML-style start of tag encountered, detect as XML
if re.match("<", firstLine):
return "XML", cls.importXml(string)