def GenTLI(self): RF = qjm_interps.RF_From_Calibre(self.calibre) PTS = qjm_interps.PTS_From_Calibre(self.calibre) RIE = self.rie # RN RN_Range = 1 + (0.001 * self.range)**0.5 RN_MV = 0.007 * self.muzzle_vel * 0.1 * (self.calibre)**0.5 if RN_MV > RN_Range: RN = RN_MV else: RN = (RN_Range + RN_MV) / 2 # derive accuracy from guidance value acc = {'Optical': 1, 'BR': 1.2, 'IR': 1.8, 'SARH': 1.5, 'ARH': 2.0} A = acc[self.guidance] RL = 1 SME = 1 GE = 2 # guided weapons have a bonus effect MCE = 1 AE = 1 MBE = qjm_interps.MBE(self.barrels) self.RF = RF MRN = 1 - 0.19 * ((self.min_range - 1000) / 1000) VEL = 1 + .001 * (self.muzzle_vel - 400) EN = self.enhancement print(self.name, RF , PTS , RIE , RN , A , RL , \ SME , MCE , AE , MBE , MRN , VEL , EN , GE) self.TLI = RF * PTS * RIE * RN * A * RL * \ SME * MCE * AE * MBE * MRN * VEL * EN * GE
def GenTLI(self): RF = qjm_interps.RF_From_Calibre(self.calibre) PTS = qjm_interps.PTS_From_Calibre(self.calibre) RIE = self.rie # RN RN_Range = 1 + (0.001 * self.range)**0.5 RN_MV = 0.007 * self.muzzle_vel * 0.1 * (self.calibre)**0.5 if RN_MV > RN_Range: RN = RN_MV else: RN = (RN_Range + RN_MV) / 2 # derive accuracy from guidance value acc = {'SACLOS wire day': 1.6, 'SACLOS wire day/night': 1.7, 'SACLOS radio': 1.7, 'LOSLBR': 1.8, 'F&F': 1.9} A = acc[self.guidance] RL = 1 SME = 1 GE = 2 # guided weapons have a bonus effect MCE = 1 AE = 1 MBE = qjm_interps.MBE(self.barrels) self.RF = RF / 2 # factor to deal with ASE MRN = 1 - 0.19 * ((self.min_range - 100) / 100) PEN = 1 + 0.01 * signed_sqrt(self.penetration - 500) VEL = 1 + .001 * (self.muzzle_vel - 400) EN = self.enhancement self.TLI = RF * PTS * RIE * RN * A * RL * \ SME * MCE * AE * MBE * MRN * PEN * VEL * EN * GE
def GenTLI(self): calibre_corrected = qjm_interps.Calibre_From_Weight(self.calibre) #RF = 2 # caps at for large calibres RF = qjm_interps.RF_From_Calibre(calibre_corrected) PTS = qjm_interps.PTS_From_Calibre(calibre_corrected) RIE = 100 RN = 1 A = self.accuracy RL = 1 SME = 1 MCE = 1 AE = 1 MBE = 1 self.RF = RF self.TLI = RF * PTS * RIE * RN * A * RL * SME * MCE * AE * MBE
def GenTLI(self): RF = qjm_interps.RF_From_Calibre(self.calibre) PTS = qjm_interps.PTS_From_Calibre(self.calibre) RIE = self.rie # RN RN_Range = 1 + (0.001 * self.range)**0.5 RN_MV = 0.007 * self.muzzle_vel * 0.1 * (self.calibre)**0.5 if RN_MV > RN_Range: RN = RN_MV else: RN = (RN_Range + RN_MV) / 2 A = self.accuracy RL = 1 SME = 1 MCE = 1 AE = 1 MBE = qjm_interps.MBE(self.barrels) self.RF = RF self.TLI = RF * PTS * RIE * RN * A * RL * SME * MCE * AE * MBE
def GenTLI(self): # RF - if empty use calibre if self.rate_of_fire is None: RF = qjm_interps.RF_From_Calibre(self.calibre) else: RF = self.rate_of_fire * self.rf_multiple PTS = qjm_interps.PTS_From_Calibre(self.calibre) RIE = self.rie # RN RN_Range = 1 + (0.001 * self.range)**0.5 RN_MV = 0.007 * self.muzzle_vel * (0.1 * self.calibre)**0.5 if RN_MV > RN_Range: RN = RN_MV else: RN = (RN_Range + RN_MV) / 2 A = self.accuracy RL = 1 SME = 1 MCE = 1 AE = 1 MBE = qjm_interps.MBE(self.barrels) self.RF = RF self.TLI = RF * PTS * RIE * RN * A * RL * SME * MCE * AE * MBE
def GenTLI(self): # RF - if empty use calibre if self.rate_of_fire is None: RF = qjm_interps.RF_From_Calibre(self.calibre) else: RF = self.rate_of_fire * self.rf_multiple PTS = qjm_interps.PTS_From_Calibre(self.calibre) RIE = self.rie # RN RN_Range = 1 + (0.001 * self.range)**0.5 RN_MV = 0.007 * self.muzzle_vel * (0.1 * self.calibre)**0.5 if RN_MV > RN_Range: RN = RN_MV else: RN = (RN_Range + RN_MV) / 2 # derive accuracy from guidance value acc = { 'SACLOS wire day': 1.6, 'SACLOS wire day/night': 1.7, 'SACLOS radio': 1.7, 'LOSLBR': 1.8, 'F&F': 1.9 } A = acc[self.guidance] RL = 1 SME = 1 MCE = 1 AE = 1 MBE = qjm_interps.MBE(self.barrels) self.RF = RF MRN = 1 - 0.19 * ((self.min_range - 100) / 100) PEN = 1 + 0.01 * signed_sqrt(self.penetration - 500) VEL = 1 + .001 * (self.muzzle_vel - 400) EN = self.enhancement self.TLI = RF * PTS * RIE * RN * A * RL * \ SME * MCE * AE * MBE * MRN * PEN * VEL * EN