@Override public int getBVMod(Entity unit) { if (CampaignMain.cm.getBooleanConfig("USEFLATGUNNERYLASERMODIFIER")) { CampaignData.mwlog.debugLog("Using Flat GL Mod"); return getBVModFlat(unit); } double laserBV = 0; double gunneryLaserBVBaseMod = megamek.common.Crew.getBVSkillMultiplier( unit.getCrew().getGunnery() - 1, unit.getCrew().getPiloting()); double originalLaserBV = 0; for (Mounted weapon : unit.getWeaponList()) { if (weapon.getType().hasFlag(WeaponType.F_ENERGY)) { laserBV += weapon.getType().getBV(unit); originalLaserBV += weapon.getType().getBV(unit); } } // This is adding the base BV of the weapon twice - once originally, and once here. // Need to back out the original cost so that it only gets added once. CampaignData.mwlog.debugLog("Laser BV: " + laserBV); CampaignData.mwlog.debugLog("Original Laser BV: " + originalLaserBV); CampaignData.mwlog.debugLog( "Mod: " + (int) ((laserBV * gunneryLaserBVBaseMod) - originalLaserBV)); return (int) ((laserBV * gunneryLaserBVBaseMod) - originalLaserBV); }