def updateVehicleAttrFactors(vehicleDescr, crewCompactDescrs, eqs, factors, aspect): factors['crewLevelIncrease'] = _sumCrewLevelIncrease(eqs) for eq in eqs: if eq is not None: eq.updateVehicleAttrFactors(vehicleDescr, factors, aspect) for device in vehicleDescr.optionalDevices: if device is not None: device.updateVehicleAttrFactors(vehicleDescr, factors, aspect) mainSkillBonuses = VehicleQualifiersApplier( {}, vehicleDescr)[QUALIFIER_TYPE.MAIN_SKILL] vehicleDescrCrew = VehicleDescrCrew(vehicleDescr, crewCompactDescrs, mainSkillBonuses) for eq in eqs: if eq is not None and 'crewSkillBattleBooster' in eq.tags: vehicleDescrCrew.boostSkillBy(eq) vehicleDescrCrew.onCollectFactors(factors) factors['camouflage'] = vehicleDescrCrew.camouflageFactor shotDispersionFactors = [1.0, 0.0] vehicleDescrCrew.onCollectShotDispersionFactors(shotDispersionFactors) factors['shotDispersion'] = shotDispersionFactors return
def updateVehicleAttrFactors(vehicleDescr, perksController, crewCompactDescrs, eqs, factors, aspect): factors['crewLevelIncrease'] = _sumCrewLevelIncrease(eqs) for eq in eqs: if eq is not None: eq.updateVehicleAttrFactorsForAspect(vehicleDescr, factors, aspect) vehicleDescr.applyOptDevFactorsForAspect(factors, aspect) vehicleDescrCrew = VehicleDescrCrew(vehicleDescr, crewCompactDescrs) for eq in eqs: if eq is not None and 'crewSkillBattleBooster' in eq.tags: vehicleDescrCrew.boostSkillBy(eq) vehicleDescrCrew.onCollectFactors(factors) factors['camouflage'] = vehicleDescrCrew.camouflageFactor if perksController and aspect == VEHICLE_TTC_ASPECTS.DEFAULT: perksController.onCollectFactors(factors) shotDispersionFactors = [1.0, 0.0] vehicleDescrCrew.onCollectShotDispersionFactors(shotDispersionFactors) factors['shotDispersion'] = shotDispersionFactors return