(self, item, amount, type)
| 240 | return ereps |
| 241 | |
| 242 | def effectivify(self, item, amount, type): |
| 243 | type = type if type != "hull" else "" |
| 244 | totalDamage = sum((self.emAmount, self.thermalAmount, self.kineticAmount, self.explosiveAmount)) |
| 245 | specificDivider = 0 |
| 246 | for damageType in self.DAMAGE_TYPES: |
| 247 | # Compose an attribute name, then make sure the first letter is NOT capitalized |
| 248 | attrName = "%s%sDamageResonance" % (type, damageType.capitalize()) |
| 249 | attrName = attrName[0].lower() + attrName[1:] |
| 250 | |
| 251 | resonance = item.getModifiedItemAttr(attrName) |
| 252 | damage = getattr(self, "%sAmount" % damageType) |
| 253 | |
| 254 | specificDivider += damage / float(totalDamage or 1) * resonance |
| 255 | |
| 256 | return amount / (specificDivider or 1) |
| 257 | |
| 258 | importMap = { |
| 259 | "em": "em", |
no test coverage detected