diff --git a/eos/effects/cargoandoreholdcapacitybonusics1.py b/eos/effects/cargoandoreholdcapacitybonusics1.py new file mode 100644 index 000000000..15276fe0f --- /dev/null +++ b/eos/effects/cargoandoreholdcapacitybonusics1.py @@ -0,0 +1,15 @@ +# cargoCapacityMultiply +# +# Used by: +# Orca +type = "passive" + + +def handler(fit, src, context): + fit.ship.boostItemAttr("specialOreHoldCapacity", + src.getModifiedItemAttr("shipBonusICS1"), + skill="Industrial Command Ships") + + fit.ship.boostItemAttr("capacity", + src.getModifiedItemAttr("shipBonusICS1"), + skill="Industrial Command Ships") diff --git a/eos/effects/commandburstaoerolebonus.py b/eos/effects/commandburstaoerolebonus.py new file mode 100644 index 000000000..752846300 --- /dev/null +++ b/eos/effects/commandburstaoerolebonus.py @@ -0,0 +1,17 @@ +# Command Burst AOE Bonus +# +# Used by: +# Orca +type = "passive" + + +# TODO: this isn't applying correctly :( +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in + ( + "Command Burst", + ), + "maxRange", + src.getModifiedItemAttr("roleBonusCommandBurstAoERange"), + ) +# TODO: test diff --git a/eos/effects/commandshipmultirelayeffect.py b/eos/effects/commandshipmultirelayeffect.py index e72671ddd..c488f058b 100644 --- a/eos/effects/commandshipmultirelayeffect.py +++ b/eos/effects/commandshipmultirelayeffect.py @@ -8,5 +8,11 @@ type = "passive" def handler(fit, ship, context): - fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gang Coordinator", - "maxGroupActive", ship.getModifiedItemAttr("maxGangModules")) + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name in + ( + "Command Burst", + ), + "maxGroupOnline", + ship.getModifiedItemAttr("maxGangModules"), + ) +# TODO: test diff --git a/eos/effects/industrialbonusdronedamage.py b/eos/effects/industrialbonusdronedamage.py new file mode 100644 index 000000000..3abb92368 --- /dev/null +++ b/eos/effects/industrialbonusdronedamage.py @@ -0,0 +1,14 @@ +# Drone damage bonus +# +# Used by: +# Orca +type = "passive" + + +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "damageMultiplier", + src.getModifiedItemAttr("industrialBonusDroneDamage"), + ) + +# TODO: test diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index 0676ef92b..a5966c65e 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -10,3 +10,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 new file mode 100644 index 000000000..9c3feda20 --- /dev/null +++ b/eos/effects/miningforemanburstbonusics2.py @@ -0,0 +1,74 @@ +# 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("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 new file mode 100644 index 000000000..2bcedac94 --- /dev/null +++ b/eos/effects/shieldcommandburstbonusics3.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("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/shipbonusdronehpdamageminingics4.py b/eos/effects/shipbonusdronehpdamageminingics4.py new file mode 100644 index 000000000..d3bb7c530 --- /dev/null +++ b/eos/effects/shipbonusdronehpdamageminingics4.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("shipBonusICS4"), + skill="Industrial Command Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "shieldCapacity", + src.getModifiedItemAttr("shipBonusICS4"), + skill="Industrial Command Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "armorHP", + src.getModifiedItemAttr("shipBonusICS4"), + skill="Industrial Command Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "hp", + src.getModifiedItemAttr("shipBonusICS4"), + skill="Industrial Command Ships" + ) + + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"), + "miningAmount", + src.getModifiedItemAttr("shipBonusICS4"), + skill="Industrial Command 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/shipbonusdroneiceharvestingics5.py b/eos/effects/shipbonusdroneiceharvestingics5.py new file mode 100644 index 000000000..cf497807a --- /dev/null +++ b/eos/effects/shipbonusdroneiceharvestingics5.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("shipBonusICS5"), + skill="Industrial Command 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 diff --git a/eos/effects/shipbonusdroneiceharvestingrole.py b/eos/effects/shipbonusdroneiceharvestingrole.py new file mode 100644 index 000000000..e428c02d7 --- /dev/null +++ b/eos/effects/shipbonusdroneiceharvestingrole.py @@ -0,0 +1,14 @@ +# 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("roleBonusDroneIceHarvestingSpeed") + ) + +# TODO: test diff --git a/eos/effects/shipbonusdroneminingamountrole.py b/eos/effects/shipbonusdroneminingamountrole.py new file mode 100644 index 000000000..6b8b3f053 --- /dev/null +++ b/eos/effects/shipbonusdroneminingamountrole.py @@ -0,0 +1,14 @@ +# Drone hitpoints, damage, and mining yield +# +# Used by: +# Orca +type = "passive" + + +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"), + "miningAmount", + src.getModifiedItemAttr("roleBonusDroneMiningYield"), + ) + +# TODO: test diff --git a/eve.db b/eve.db index c3f4199cb..ba2ebff0f 100644 Binary files a/eve.db and b/eve.db differ