if (getCrew() != null) { if (hasAbility(OptionsConstants.MD_TSM_IMPLANT)) { if (getArmorKit() == null) { divisor = 0.5; if (hasAbility(OptionsConstants.MD_DERMAL_ARMOR)) { divisor++; && hasAbility(OptionsConstants.MD_DERMAL_CAMO_ARMOR))) { sArmor.append(" (Camo) ");
@Override public void addBattleForceSpecialAbilities(Map<BattleForceSPA,Integer> specialAbilities) { super.addBattleForceSpecialAbilities(specialAbilities); specialAbilities.put(BattleForceSPA.CAR, (int)Math.ceil(getWeight())); if (getMovementMode().equals(EntityMovementMode.INF_UMU)) { specialAbilities.put(BattleForceSPA.UMU, null); } if (hasSpecialization(FIRE_ENGINEERS)) { specialAbilities.put(BattleForceSPA.FF, null); } if (hasSpecialization(MINE_ENGINEERS)) { specialAbilities.put(BattleForceSPA.MSW, null); } if (hasSpecialization(MOUNTAIN_TROOPS)) { specialAbilities.put(BattleForceSPA.MTN, null); } if (hasSpecialization(PARATROOPS)) { specialAbilities.put(BattleForceSPA.PARA, null); } if (hasSpecialization(SCUBA)) { specialAbilities.put(BattleForceSPA.UMU, null); } if (hasSpecialization(TRENCH_ENGINEERS)) { specialAbilities.put(BattleForceSPA.TRN, null); } if (hasAbility("tsm_implant")) { specialAbilities.put(BattleForceSPA.TSI, null); } }
public static int maxSecondaryWeapons(Infantry inf) { int max = 2; if (inf.getMovementMode() == EntityMovementMode.VTOL) { max = inf.hasMicrolite()?0 : 1; } else if (inf.getMovementMode() == EntityMovementMode.INF_UMU) { max = inf.getAllUMUCount(); } if (inf.hasSpecialization(Infantry.COMBAT_ENGINEERS)) { max = 0; } if (inf.hasSpecialization(Infantry.MOUNTAIN_TROOPS | Infantry.PARAMEDICS)) { max = 1; } if (inf.getCrew() != null) { if (inf.hasAbility(OptionsConstants.MD_DERMAL_ARMOR)) { max++; } if (inf.hasAbility(OptionsConstants.MD_TSM_IMPLANT)) { max++; } } return max; }
&& ((null == getCrew()) || !hasAbility(OptionsConstants.MD_TSM_IMPLANT)) && ((null == getCrew()) || !hasAbility(OptionsConstants.MD_DERMAL_ARMOR)) && (null != secondW) && secondW.hasFlag(WeaponType.F_INF_SUPPORT) && (getMovementMode() != EntityMovementMode.TRACKED) && hasAbility(OptionsConstants.MD_PL_MASC) && ((getMovementMode() == EntityMovementMode.INF_LEG) || (getMovementMode() == EntityMovementMode.INF_JUMP))) { mp += 1; if ((null != getCrew()) && hasAbility(OptionsConstants.INFANTRY_FOOT_CAV) && ((getMovementMode() == EntityMovementMode.INF_LEG) || (getMovementMode() == EntityMovementMode.INF_JUMP))) {
&& ((null == getCrew()) || !hasAbility(OptionsConstants.MD_TSM_IMPLANT)) && ((null == getCrew()) || !hasAbility(OptionsConstants.MD_DERMAL_ARMOR)) && (getMovementMode() != EntityMovementMode.SUBMARINE) && (null != secondW) && secondW.hasFlag(WeaponType.F_INF_SUPPORT)) {
int secondaryCrew = inf.getSecondaryWeapon().getCrew(); if (inf.getCrew() != null) { if (inf.hasAbility(OptionsConstants.MD_TSM_IMPLANT)) { secondaryCrew--; if (inf.hasAbility(OptionsConstants.MD_DERMAL_ARMOR)) { secondaryCrew--;
boolean aptGunnery = attacker.hasAbility(OptionsConstants.PILOT_APTITUDE_GUNNERY); modified_damages[cur_range] = (raw_damage * Compute.oddsAbove(total_mod, aptGunnery)) / 100.0;
if (attacker.hasAbility(OptionsConstants.MD_PL_ENHANCED)) { data.addModifier(-2, "MD Grapple/Magnet");