diff --git a/eos/effects/commandshipmultirelayeffect.py b/eos/effects/commandshipmultirelayeffect.py index f969caeab..c488f058b 100644 --- a/eos/effects/commandshipmultirelayeffect.py +++ b/eos/effects/commandshipmultirelayeffect.py @@ -13,6 +13,6 @@ def handler(fit, ship, context): "Command Burst", ), "maxGroupOnline", - ship.getModifiedItemAttr("shipBonusICS2"), + ship.getModifiedItemAttr("maxGangModules"), ) # TODO: test diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index 7bb0909f4..a30075e8b 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -8,3 +8,17 @@ def handler(fit, module, context): fit.extraAttributes["siege"] = True fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor")) fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("siegeMassMultiplier")) + + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff4Value", + src.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships", + ) diff --git a/eos/effects/miningforemanburstbonusics2.py b/eos/effects/miningforemanburstbonusics2.py index 08043fc73..9c3feda20 100644 --- a/eos/effects/miningforemanburstbonusics2.py +++ b/eos/effects/miningforemanburstbonusics2.py @@ -6,25 +6,69 @@ type = "passive" def handler(fit, src, context): - fit.ship.boostItemAttr("buffDuration", - src.getModifiedItemAttr("shipBonusICS2"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff1Value", - src.getModifiedItemAttr("shipBonusICS2"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff2Value", - src.getModifiedItemAttr("shipBonusICS2"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff3Value", - src.getModifiedItemAttr("shipBonusICS2"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff4Value", - src.getModifiedItemAttr("shipBonusICS2"), - skill="Industrial Command Ships", - ) + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "buffDuration", + src.getModifiedItemAttr("shipBonusICS2"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff1Value", + src.getModifiedItemAttr("shipBonusICS2"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff2Value", + src.getModifiedItemAttr("shipBonusICS2"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff3Value", + src.getModifiedItemAttr("shipBonusICS2"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff4Value", + src.getModifiedItemAttr("shipBonusICS2"), + skill="Industrial Command Ships", + ) # TODO: test diff --git a/eos/effects/miningforemanburstbonusorecapital2.py b/eos/effects/miningforemanburstbonusorecapital2.py new file mode 100644 index 000000000..8185b04c3 --- /dev/null +++ b/eos/effects/miningforemanburstbonusorecapital2.py @@ -0,0 +1,70 @@ +# Mining Command Boost +# +# Used by: +# Orca +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "buffDuration", + src.getModifiedItemAttr("shipBonusORECapital2"), + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff1Value", + src.getModifiedItemAttr("shipBonusORECapital2"), + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff2Value", + src.getModifiedItemAttr("shipBonusORECapital2"), + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff3Value", + src.getModifiedItemAttr("shipBonusORECapital2"), + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Mining Foreman", + ), + "warfareBuff4Value", + src.getModifiedItemAttr("shipBonusORECapital2"), + skill="Capital Industrial Ships", + ) + +# TODO: test diff --git a/eos/effects/shieldcommandburstbonusics3.py b/eos/effects/shieldcommandburstbonusics3.py index ff9855b78..2bcedac94 100644 --- a/eos/effects/shieldcommandburstbonusics3.py +++ b/eos/effects/shieldcommandburstbonusics3.py @@ -1,30 +1,70 @@ -# Shield Command Boost -# -# Used by: -# Orca type = "passive" def handler(fit, src, context): - fit.ship.boostItemAttr("buffDuration", - src.getModifiedItemAttr("shipBonusICS3"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff1Value", - src.getModifiedItemAttr("shipBonusICS3"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff2Value", - src.getModifiedItemAttr("shipBonusICS3"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff3Value", - src.getModifiedItemAttr("shipBonusICS3"), - skill="Industrial Command Ships", - ) - fit.ship.boostItemAttr("warfareBuff4Value", - src.getModifiedItemAttr("shipBonusICS3"), - skill="Industrial Command Ships", - ) + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "buffDuration", + src.getModifiedItemAttr("shipBonusICS3"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff1Value", + src.getModifiedItemAttr("shipBonusICS3"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff2Value", + src.getModifiedItemAttr("shipBonusICS3"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff3Value", + src.getModifiedItemAttr("shipBonusICS3"), + skill="Industrial Command Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command" + ), + "warfareBuff4Value", + src.getModifiedItemAttr("shipBonusICS3"), + skill="Industrial Command Ships", + ) # TODO: test diff --git a/eos/effects/shieldcommandburstbonusorecapital3.py b/eos/effects/shieldcommandburstbonusorecapital3.py new file mode 100644 index 000000000..ced130b14 --- /dev/null +++ b/eos/effects/shieldcommandburstbonusorecapital3.py @@ -0,0 +1,70 @@ +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "buffDuration", + src.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff1Value", + src.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff2Value", + src.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff3Value", + src.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships", + ) + + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ) and + mod.item.requiresSkill in + ( + "Shield Command", + ), + "warfareBuff4Value", + src.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships", + ) + +# TODO: test diff --git a/eos/effects/shipbonusdronehpdamageminingorecapital4.py b/eos/effects/shipbonusdronehpdamageminingorecapital4.py new file mode 100644 index 000000000..46cd832e3 --- /dev/null +++ b/eos/effects/shipbonusdronehpdamageminingorecapital4.py @@ -0,0 +1,39 @@ +# Drone hitpoints, damage, and mining yield +# +# Used by: +# Orca +type = "passive" + + +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "damageMultiplier", + src.getModifiedItemAttr("shipBonusORECapital4"), + skill="Capital Industrial Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "shieldCapacity", + src.getModifiedItemAttr("shipBonusORECapital4"), + skill="Capital Industrial Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "armorHP", + src.getModifiedItemAttr("shipBonusORECapital4"), + skill="Capital Industrial Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "hp", + src.getModifiedItemAttr("shipBonusORECapital4"), + skill="Capital Industrial Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"), + "miningAmount", + src.getModifiedItemAttr("shipBonusORECapital4"), + skill="Capital Industrial Ships" + ) + +# TODO: test diff --git a/eos/effects/shipbonusdroneiceharvestingorecapital5.py b/eos/effects/shipbonusdroneiceharvestingorecapital5.py new file mode 100644 index 000000000..42a1e3506 --- /dev/null +++ b/eos/effects/shipbonusdroneiceharvestingorecapital5.py @@ -0,0 +1,15 @@ +# Ice Harvesting Drone Duration +# +# Used by: +# Orca +type = "passive" + + +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Ice Harvesting Drone Operation"), + "duration", + src.getModifiedItemAttr("shipBonusORECapital5"), + skill="Capital Industrial Ships" + ) + +# TODO: test