/** * Method that checks to see if our capital missile bay is in waypoint launch mode * Only available in space games * @return */ public boolean isInWaypointLaunchMode() { if ((curMode().equals(Weapon.Mode_CapMissile_Waypoint_Bearing_Ext) || curMode().equals(Weapon.Mode_CapMissile_Waypoint_Bearing_Long) || curMode().equals(Weapon.Mode_CapMissile_Waypoint_Bearing_Med) || curMode().equals(Weapon.Mode_CapMissile_Waypoint_Bearing_Short) || curMode().equals(Weapon.Mode_CapMissile_Waypoint)) && getEntity().isSpaceborne()) { return true; } return false; }
/** * * adjustment factor on attack value for fighter squadrons */ protected double getBracketingMultiplier() { double mult = 1.0; if (wtype.hasModes() && weapon.curMode().equals("Bracket 80%")) { mult = 0.8; } if (wtype.hasModes() && weapon.curMode().equals("Bracket 60%")) { mult = 0.6; } if (wtype.hasModes() && weapon.curMode().equals("Bracket 40%")) { mult = 0.4; } return mult; }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { Mounted weapon = game.getEntity(waa.getEntityId()).getEquipment( waa.getWeaponId()); if (weapon.curMode().equals("6-shot") || weapon.curMode().equals("5-shot") || weapon.curMode().equals("4-shot") || weapon.curMode().equals("3-shot")) { return new RACHandler(toHit, waa, game, server); } else { return new UltraWeaponHandler(toHit, waa, game, server); } }
/** * Streak effect only works for iATM when not firing indirectly, and not at all for fusillade. */ private boolean streakInactive() { return weapon.curMode().equals("Indirect") || weapon.getType().hasFlag(WeaponType.F_PROTO_WEAPON); }
/** * Sets the equipment mode to the mode denoted by the given mode name * * @param newMode * the name of the desired new mode * @return new mode number on success, <code>-1<code> otherwise. */ public int setMode(String newMode) { for (int x = 0, e = type.getModesCount(); x < e; x++) { if (type.getMode(x).equals(newMode)) { setMode(x); return x; } } return -1; }
public boolean hasActivatedRadicalHS() { for (Mounted m : getMisc()) { if (m.getType().hasFlag(MiscType.F_RADICAL_HEATSINK) && m.curMode().equals("On")) { return true; } } return false; }
public boolean isEDPCharging() { for (Mounted misc : getMisc()) { if (misc.getType().hasFlag(MiscType.F_ELECTRIC_DISCHARGE_ARMOR) && misc.curMode().equals("charging")) { return true; } } return false; }
@Override public boolean isNullSigOn() { if (!isShutDown()) { for (Mounted m : getMisc()) { EquipmentType type = m.getType(); if (type.hasFlag(MiscType.F_NULLSIG) && m.curMode().equals("On") && m.isReady()) { return true; } } } return false; }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { if ((game.getEntity(waa.getEntityId()).getEquipment(waa.getWeaponId()) .curMode().equals("Heat"))) { return new FlamerHeatHandler(toHit, waa, game, server); } return new FlamerHandler(toHit, waa, game, server); }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { Mounted m = game.getEntity(waa.getEntityId()).getEquipment(waa.getWeaponId()); if(null != m && m.curMode().equals("Heat")) { return new InfantryHeatWeaponHandler(toHit, waa, game, server); } return new InfantryWeaponHandler(toHit, waa, game, server); }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { Mounted weapon = game.getEntity(waa.getEntityId()).getEquipment( waa.getWeaponId()); if (weapon.curMode().equals("Ultra")) { return new PrototypeISUltraWeaponHandler(toHit, waa, game, server); } return super.getCorrectHandler(toHit, waa, game, server); } }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { Mounted weapon = game.getEntity(waa.getEntityId()).getEquipment( waa.getWeaponId()); if (weapon.curMode().equals("Ultra")) { return new PrototypeCLUltraWeaponHandler(toHit, waa, game, server); } return super.getCorrectHandler(toHit, waa, game, server); } }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { Mounted weapon = game.getEntity(waa.getEntityId()).getEquipment( waa.getWeaponId()); if (weapon.curMode().equals("Rapid")) { return new RapidfireHVACWeaponHandler(toHit, waa, game, server); } return new HVACWeaponHandler(toHit, waa, game, server); }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { if ((game.getEntity(waa.getEntityId()).getEquipment(waa.getWeaponId()) .curMode().equals("Heat"))) { return new FlamerHeatHandler(toHit, waa, game, server); } return new FlamerHandler(toHit, waa, game, server); }
public boolean hasLinkedMGA(Mounted mounted) { for (Mounted m : getWeaponList()) { if ((m.getLocation() == mounted.getLocation()) && m.getType().hasFlag(WeaponType.F_MGA) && !(m.isDestroyed() || m.isBreached()) && m.getBayWeapons().contains(getEquipmentNum(mounted)) && m.getType().hasModes() && m.curMode().equals("Linked")) { return true; } } return false; }
/** * Does this mech have an extended retractable blade in working condition? */ public boolean hasExtendedRetractableBlade() { for (Mounted m : getEquipment()) { if (!m.isInoperable() && (m.getType() instanceof MiscType) && m.getType().hasFlag(MiscType.F_CLUB) && m.getType().hasSubType(MiscType.S_RETRACTABLE_BLADE) && m.curMode().equals("extended")) { return true; } } return false; }
/** * Does the entity have a retracted blade in the given location */ @Override public boolean hasRetractedBlade(int loc) { for (Mounted m : getEquipment()) { if ((m.getLocation() == loc) && !m.isDestroyed() && !m.isBreached() && (m.getType() instanceof MiscType) && m.getType().hasFlag(MiscType.F_CLUB) && m.getType().hasSubType(MiscType.S_RETRACTABLE_BLADE) && !m .curMode().equals("extended")) { return true; } } return false; }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { AmmoType atype = (AmmoType) game.getEntity(waa.getEntityId()) .getEquipment(waa.getWeaponId()).getLinked().getType(); if ((game.getEntity(waa.getEntityId()).getEquipment(waa.getWeaponId()) .curMode().equals("Heat"))) { return new VehicleFlamerHeatHandler(toHit, waa, game, server); } else if (atype.getMunitionType() == AmmoType.M_COOLANT) { return new VehicleFlamerCoolHandler(toHit, waa, game, server); } else { return new VehicleFlamerHandler(toHit, waa, game, server); } }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { Mounted weapon = game.getEntity(waa.getEntityId()) .getEquipment(waa.getWeaponId()); Entity attacker = game.getEntity(waa.getEntityId()); int rangeToTarget = attacker.getPosition().distance(waa.getTarget(game).getPosition()); if (weapon.isInBearingsOnlyMode() && rangeToTarget >= RangeType.RANGE_BEARINGS_ONLY_MINIMUM) { return new CapitalMissileBearingsOnlyHandler(toHit, waa, game, server); } else if (weapon.curMode().equals(Weapon.Mode_CapMissile_Tele_Operated)) { return new TeleMissileHandler(toHit, waa, game, server); } else { return new CapitalMissileBayHandler(toHit, waa, game, server); } }
@Override protected AttackHandler getCorrectHandler(ToHitData toHit, WeaponAttackAction waa, IGame game, Server server) { Mounted weapon = game.getEntity(waa.getEntityId()) .getEquipment(waa.getWeaponId()); Entity attacker = game.getEntity(waa.getEntityId()); int rangeToTarget = attacker.getPosition().distance(waa.getTarget(game).getPosition()); if (weapon.isInBearingsOnlyMode() && rangeToTarget >= RangeType.RANGE_BEARINGS_ONLY_MINIMUM) { return new CapitalMissileBearingsOnlyHandler(toHit, waa, game, server); } else if (weapon.curMode().equals(Weapon.Mode_CapMissile_Tele_Operated)) { return new TeleMissileHandler(toHit, waa, game, server); } else { return new CapitalMissileBayHandler(toHit, waa, game, server); } }