Mockito.when(mockWeapon.hasQuirk(Mockito.eq(OptionsConstants.QUIRK_WEAP_POS_ACCURATE))).thenReturn(true); expected = new ToHitData(mockShooter.getCrew().getGunnery(), FireControl.TH_GUNNERY); expected.addModifier(FireControl.TH_MEDIUM_RANGE); mockTarget, mockTargetState, mockWeapon, mockGame)); Mockito.when(mockWeapon.hasQuirk(Mockito.eq(OptionsConstants.QUIRK_WEAP_POS_ACCURATE))).thenReturn(false); Mockito.when(mockWeapon.hasQuirk(Mockito.eq(OptionsConstants.QUIRK_WEAP_NEG_INACCURATE))).thenReturn(true); expected = new ToHitData(mockShooter.getCrew().getGunnery(), FireControl.TH_GUNNERY); expected.addModifier(FireControl.TH_MEDIUM_RANGE); mockTarget, mockTargetState, mockWeapon, mockGame)); Mockito.when(mockWeapon.hasQuirk(Mockito.eq(OptionsConstants.QUIRK_WEAP_NEG_INACCURATE))).thenReturn(false);
if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_POS_ACCURATE)) { toHit.addModifier(TH_ACCURATE_WEAP); if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_NEG_INACCURATE)) { toHit.addModifier(TH_INACCURATE_WEAP); if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_POS_STABLE_WEAPON) && (EntityMovementType.MOVE_RUN == shooter.moved)) { toHit.addModifier(TH_STABLE_WEAP);
if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_POS_ACCURATE)) { toHit.addModifier(-1, "accurate weapon"); if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_NEG_INACCURATE)) { toHit.addModifier(+1, "inaccurate weapon"); if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_POS_STABLE_WEAPON) && (ae.moved == EntityMovementType.MOVE_RUN)) { toHit.addModifier(-1, "stabilized weapon"); if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_NEG_MISREPAIRED)) { toHit.addModifier(+1, "misrepaired weapon"); if (weapon.hasQuirk(OptionsConstants.QUIRK_WEAP_NEG_MISREPLACED)) { toHit.addModifier(+1, "misreplaced weapon");