private ToHitData calcRealToHit(final WeaponAttackAction weaponAttackAction) { return weaponAttackAction.toHit(getGame(), owner.getPrecognition().getECMInfo()); }
private ToHitData calcToHit(final MovePath shooterPath, final boolean assumeUnderFlightPath) { return owner.getFireControl(getShooter()).guessAirToGroundStrikeToHitModifier(getShooter(), null, getTarget(), getTargetState(), shooterPath, getWeapon(), getGame(), assumeUnderFlightPath); }
ToHitData calcToHit() { return owner.getFireControl(getShooter()).guessToHitModifierForWeapon(getShooter(), getShooterState(), getTarget(), getTargetState(), getWeapon(), getGame()); }
WeaponAttackAction getWeaponAttackAction() { final String METHOD_NAME = "getWeaponAttackAction(IGame)"; owner.methodBegin(getClass(), METHOD_NAME); try { if (null != getAction()) { return getAction(); } if (!getWeapon().getType().hasFlag(WeaponType.F_ARTILLERY)) { setAction(new WeaponAttackAction(getShooter().getId(), getTarget().getTargetId(), getShooter().getEquipmentNum(getWeapon()))); } else { setAction(new ArtilleryAttackAction(getShooter().getId(), getTarget().getTargetType(), getTarget().getTargetId(), getShooter().getEquipmentNum(getWeapon()), getGame())); } if (getAction() == null) { setProbabilityToHit(0); return null; } setProbabilityToHit(Compute.oddsAbove(getAction().toHit(getGame()).getValue(), getShooterState().hasNaturalAptGun()) / 100.0); return getAction(); } finally { owner.methodEnd(getClass(), METHOD_NAME); } }
WeaponAttackAction buildWeaponAttackAction() { if (!getWeapon().getType().hasFlag(WeaponType.F_ARTILLERY)) { return new WeaponAttackAction(getShooter().getId(), getTarget().getTargetType(), getTarget().getTargetId(), getShooter().getEquipmentNum(getWeapon())); } else { return new ArtilleryAttackAction(getShooter().getId(), getTarget().getTargetType(), getTarget().getTargetId(), getShooter().getEquipmentNum(getWeapon()), getGame()); } }
double dmg = Compute.getExpectedDamage(getGame(), getAction(), true, owner.getPrecognition().getECMInfo()); if (weaponType.hasFlag(WeaponType.F_PLASMA)) {