| 114 | |
| 115 | |
| 116 | class TargetWrapper(BaseWrapper): |
| 117 | |
| 118 | def __init__(self, item, lightnessID, lineStyleID): |
| 119 | super().__init__(item=item) |
| 120 | self.lightnessID = lightnessID |
| 121 | self.lineStyleID = lineStyleID |
| 122 | self.resistMode = TargetResistMode.auto |
| 123 | |
| 124 | def getResists(self, includeLayer=False): |
| 125 | em = therm = kin = explo = 0 |
| 126 | layer = None |
| 127 | if self.isProfile: |
| 128 | em = self.item.emAmount |
| 129 | therm = self.item.thermalAmount |
| 130 | kin = self.item.kineticAmount |
| 131 | explo = self.item.explosiveAmount |
| 132 | if self.isFit: |
| 133 | if self.resistMode == TargetResistMode.auto: |
| 134 | em, therm, kin, explo, layer = _getAutoResists(fit=self.item) |
| 135 | elif self.resistMode == TargetResistMode.shield: |
| 136 | em, therm, kin, explo = _getShieldResists(ship=self.item.ship) |
| 137 | elif self.resistMode == TargetResistMode.armor: |
| 138 | em, therm, kin, explo = _getArmorResists(ship=self.item.ship) |
| 139 | elif self.resistMode == TargetResistMode.hull: |
| 140 | em, therm, kin, explo = _getHullResists(ship=self.item.ship) |
| 141 | elif self.resistMode == TargetResistMode.weightedAverage: |
| 142 | em, therm, kin, explo = _getWeightedResists(fit=self.item) |
| 143 | if includeLayer: |
| 144 | return em, therm, kin, explo, layer |
| 145 | else: |
| 146 | return em, therm, kin, explo |
| 147 | |
| 148 | def getFullHp(self): |
| 149 | if self.isProfile: |
| 150 | return self.item.hp |
| 151 | if self.isFit: |
| 152 | return self.item.hp.get('shield', 0) + self.item.hp.get('armor', 0) + self.item.hp.get('hull', 0) |
| 153 | |
| 154 | |
| 155 | def _getShieldResists(ship): |