private static BombType createRocketBomb() { BombType bomb = new BombType(); bomb.name = "Rocket Launcher Pod"; bomb.setInternalName(BombType.getBombInternalName(BombType.B_RL)); bomb.addLookupName("RL 10 (Bomb)"); bomb.damagePerShot = 1; bomb.flags.or(AmmoType.F_OTHER_BOMB); bomb.rackSize = 10; bomb.ammoType = AmmoType.T_RL_BOMB; bomb.bombType = BombType.B_RL; bomb.shots = 1; bomb.bv = 18; bomb.cost = 15000; bomb.rulesRefs = "229,TM"; bomb.techAdvancement.setTechBase(TechAdvancement.TECH_BASE_IS); bomb.techAdvancement.setISAdvancement(3055, 3064, 3067); bomb.techAdvancement.setTechRating(RATING_B); bomb.techAdvancement.setAvailability(new int[] { RATING_X, RATING_X, RATING_B, RATING_B }); return bomb; }
/** * @return The number of points taken up by all mounted bombs or other external stores. */ default int getBombPoints() { int points = 0; for (Mounted bomb : getBombs()) { if (bomb.getUsableShotsLeft() > 0) { points += BombType.getBombCost(((BombType) bomb.getType()).getBombType()); } } return points; }
String load = currEle.getAttribute(LOAD); if (type.length() > 0 && load.length() > 0){ int bombType = BombType.getBombTypeFromInternalName(type); if(bombType <= BombType.B_NONE || bombType >= BombType.B_NUM) { continue;
public static BombType createBombByType(int bType) { switch (bType){ case B_HE: return createHighExplosiveBomb(); case B_CLUSTER: return createClusterBomb(); case B_LG: return createLaserGuidedBomb(); case B_RL: return createRocketBomb(); case B_TAG: return createTAGBomb(); case B_AAA: return createAAAMissileBomb(); case B_AS: return createASMissileBomb(); case B_ASEW: return createISASEWMissileBomb(); case B_ARROW: return createArrowIVBomb(); case B_HOMING: return createArrowIVHomingBomb(); case B_INFERNO: return createInfernoBomb(); case B_LAA: return createLAAMissileBomb(); case B_THUNDER: return createThunderBomb(); case B_TORPEDO: return createTorpedoBomb();
private static BombType createAlamoBomb() { BombType bomb = new BombType(); bomb.name = "Std. Nuclear Weapon (Type II/Alamo)"; bomb.setInternalName(BombType.getBombInternalName(BombType.B_ALAMO)); bomb.damagePerShot = 10; bomb.rackSize = 1; bomb.ammoType = AmmoType.T_ALAMO; bomb.bombType = BombType.B_ALAMO; bomb.shots = 1; bomb.bv = 100; bomb.cost = 1000000; bomb.flags = bomb.flags.or(F_NUCLEAR).or(AmmoType.F_OTHER_BOMB); bomb.capital = true; bomb.techAdvancement.setTechBase(TechAdvancement.TECH_BASE_IS).setTechRating(RATING_E) .setISAdvancement(2200).setPrototypeFactions(F_TA) .setAvailability(RATING_F, RATING_F, RATING_F, RATING_F) .setStaticTechLevel(SimpleTechLevel.EXPERIMENTAL); return bomb; }
Entity fighter = game.getEntity(fId); for (Mounted m : fighter.getBombs()) { if (((BombType) m.getType()).getBombType() == btype) { bombCount++; if ((null != BombType.getBombWeaponName(type)) && (type != BombType.B_ARROW) && (type != BombType.B_HOMING)) { try { addBomb(EquipmentType.get(BombType.getBombWeaponName(type)), LOC_NOSE); } catch (LocationFullException ex) { if ((type != BombType.B_TAG) && (null == BombType.getBombWeaponName(type))) { try { addEquipment(EquipmentType.get(BombType.getBombInternalName(type)), LOC_NOSE, false); } catch (LocationFullException ex) {
/** * Produce an int array of the number of bombs of each type based on the * current bomblist. Since this is a FighterSquadron, these numbers * represent the number of bombs in a salvo. That is, it is a count of the * number of fighters in the squadron that have a bomb of the particular * type mounted. * * @return */ @Override public int[] getBombLoadout() { int[] loadout = new int[BombType.B_NUM]; for (Integer fId : fighters) { Entity fighter = (Entity) game.getEntity(fId); for (Mounted m : fighter.getBombs()) { loadout[((BombType) m.getType()).getBombType()]++; } } return loadout; }
int slots = 1; if (mounted.getType() instanceof BombType) { slots = BombType.getBombCost(((BombType) mounted.getType()).getBombType()); } else if (mounted.getType() instanceof WeaponType) { int type = BombType.getBombTypeForWeapon(mounted.getType()); if (type >= 0) { slots = BombType.getBombCost(type); } else { slots = mounted.getType().getCriticals(this);
private static String getBombChoiceString(IBomber bomber, int indentLvl) { String retVal = ""; int[] bombChoices = bomber.getBombChoices(); if (bombChoices.length > 0) { retVal += MekHqXmlUtil.indentStr(indentLvl+1) + "<bombs>\n"; for (int type = 0; type < BombType.B_NUM; type++) { if (bombChoices[type] > 0) { String typeName = BombType.getBombInternalName(type); retVal += MekHqXmlUtil.indentStr(indentLvl+2) + "<bomb type=\""; retVal += typeName; retVal += "\" load=\""; retVal += String.valueOf(bombChoices[type]); retVal += "\"/>\n"; } } retVal += MekHqXmlUtil.indentStr(indentLvl+1) + "</bombs>\n"; } return retVal; }
final int damagePerShot = ((BombType) bomb.getType()).getDamagePerShot(); if (BombType.B_CLUSTER == ((BombType) bomb.getType()).getBombType()) { for (int dir = 0; 5 >= dir; dir++) { affectedHexes.add(bombedHex.translated(dir));
b_labels[i] = new JLabel(BombType.getBombName(i)); int max = bombs[i]; if((limit > -1) && (max > limit)) { b_choices[i].addItemListener(this); if(spaceBomb && !BombType.canSpaceBomb(i)) { continue; if(!spaceBomb && !bombDump && !BombType.canGroundBomb(i)) { continue;
if ((null != BombType.getBombWeaponName(type)) && (type != BombType.B_ARROW) && (type != BombType.B_HOMING)) { try { m = ((Entity)this).addBomb(EquipmentType.get(BombType .getBombWeaponName(type)), loc); EquipmentType.get(BombType.getBombInternalName(type))); ammo.setShotsLeft(1); m.setLinked(ammo); try { ((Entity)this).addEquipment(EquipmentType.get(BombType .getBombInternalName(type)), loc, false); } catch (LocationFullException ex) {
public static void initializeTypes() { EquipmentType.addType(BombType.createHighExplosiveBomb()); EquipmentType.addType(BombType.createClusterBomb()); EquipmentType.addType(BombType.createLaserGuidedBomb()); // EquipmentType.addType(BombType.createCLLaserGuidedBomb()); EquipmentType.addType(BombType.createRocketBomb()); EquipmentType.addType(BombType.createTAGBomb()); // EquipmentType.addType(BombType.createCLTAGBomb()); EquipmentType.addType(BombType.createAAAMissileBomb()); // EquipmentType.addType(BombType.createCLAAAMissileBomb()); EquipmentType.addType(BombType.createASMissileBomb()); // EquipmentType.addType(BombType.createCLASMissileBomb()); EquipmentType.addType(BombType.createISASEWMissileBomb()); // EquipmentType.addType(BombType.createCLASEWMissileBomb()); EquipmentType.addType(BombType.createArrowIVBomb()); // EquipmentType.addType(BombType.createCLArrowIVBomb()); EquipmentType.addType(BombType.createArrowIVHomingBomb()); // EquipmentType.addType(BombType.createCLArrowIVHomingBomb()); EquipmentType.addType(BombType.createInfernoBomb()); EquipmentType.addType(BombType.createLAAMissileBomb()); // EquipmentType.addType(BombType.createCLLAAMissileBomb()); EquipmentType.addType(BombType.createThunderBomb()); EquipmentType.addType(BombType.createTorpedoBomb()); EquipmentType.addType(BombType.createAlamoBomb()); }
private static BombType createTorpedoBomb() { BombType bomb = new BombType(); bomb.name = "Torpedo Bomb"; bomb.shortName = "TorpedoBomb"; bomb.setInternalName(BombType.getBombInternalName(BombType.B_TORPEDO)); bomb.damagePerShot = 10; bomb.rackSize = 1; bomb.ammoType = AmmoType.T_BOMB; bomb.bombType = BombType.B_TORPEDO; bomb.shots = 1; bomb.bv = 10; bomb.cost = 7000; bomb.rulesRefs = "360,TO"; bomb.techAdvancement.setTechBase(TECH_BASE_ALL).setIntroLevel(false).setUnofficial(false) .setTechRating(RATING_B).setAvailability(RATING_C, RATING_C, RATING_C, RATING_C) .setISAdvancement(DATE_PS, DATE_PS, DATE_PS, DATE_NONE, DATE_NONE) .setISApproximate(false, false, false, false, false) .setClanAdvancement(DATE_PS, DATE_PS, DATE_PS, DATE_NONE, DATE_NONE) .setClanApproximate(false, false, false, false, false); return bomb; }
/** * produce an int array of the number of bombs of each type based on the * current bomblist * * @return */ public int[] getBombLoadout() { int[] loadout = new int[BombType.B_NUM]; for (Mounted bomb : getBombs()) { if ((bomb.getUsableShotsLeft() > 0) && (bomb.getType() instanceof BombType)) { int type = ((BombType) bomb.getType()).getBombType(); loadout[type] = loadout[type] + 1; } } return loadout; }
AmmoStorage excessBombs = new AmmoStorage(0, EquipmentType.get(BombType.getBombInternalName(type)), newLoadout[type], campaign); campaign.addPart(excessBombs, 0);
private static BombType createLAAMissileBomb() { BombType bomb = new BombType(); bomb.name = "Light Air-to-Air (LAA) Missiles Ammo"; bomb.setInternalName(BombType.getBombInternalName(BombType.B_LAA)); bomb.addLookupName("IS " + BombType.getBombInternalName(BombType.B_LAA)); bomb.addLookupName("Clan " + BombType.getBombInternalName(BombType.B_LAA)); bomb.addLookupName("LAAMissile Ammo"); bomb.damagePerShot = 6; bomb.flags.or(AmmoType.F_OTHER_BOMB); bomb.rackSize = 1; bomb.ammoType = AmmoType.T_LAA_MISSILE; bomb.bombType = BombType.B_LAA; bomb.shots = 1; bomb.bv = 17; bomb.cost = 6000; bomb.rulesRefs = "359,TO"; bomb.techAdvancement.setTechBase(TECH_BASE_IS).setIntroLevel(false).setUnofficial(false).setTechRating(RATING_E) .setAvailability(RATING_X, RATING_X, RATING_F, RATING_D) .setISAdvancement(3069, 3072, DATE_NONE, DATE_NONE, DATE_NONE) .setISApproximate(true, false, false, false, false).setPrototypeFactions(F_FW) .setProductionFactions(F_FW); return bomb; }
private static BombType createInfernoBomb() { BombType bomb = new BombType(); bomb.name = "Inferno Bomb"; bomb.shortName = "InfernoBomb"; bomb.setInternalName(BombType.getBombInternalName(BombType.B_INFERNO)); bomb.damagePerShot = 5; bomb.rackSize = 1; bomb.ammoType = AmmoType.T_BOMB; bomb.bombType = BombType.B_INFERNO; bomb.flags = bomb.flags.or(AmmoType.F_GROUND_BOMB); bomb.shots = 1; bomb.bv = 16; bomb.cost = 6000; bomb.rulesRefs = "359,TO"; bomb.techAdvancement.setTechBase(TECH_BASE_ALL).setIntroLevel(false).setUnofficial(false) .setTechRating(RATING_C).setAvailability(RATING_D, RATING_D, RATING_D, RATING_C) .setISAdvancement(DATE_PS, DATE_PS, DATE_PS, DATE_NONE, DATE_NONE) .setISApproximate(false, false, false, false, false) .setClanAdvancement(DATE_PS, DATE_PS, DATE_PS, DATE_NONE, DATE_NONE) .setClanApproximate(false, false, false, false, false); return bomb; }
@Override public boolean isSamePartType(Part part) { if (part instanceof AmmoStorage) { if (getType() instanceof BombType) { return ((EquipmentPart)part).getType() instanceof BombType && ((BombType)getType()).getBombType() == ((BombType)((EquipmentPart)part).getType()).getBombType(); } else { return ((AmmoType)getType()).getMunitionType() == ((AmmoType)((AmmoStorage)part).getType()).getMunitionType() && ((AmmoType)getType()).equals( (Object)((EquipmentPart)part).getType()); } } return false; }
output.write(CommonConstants.NL); for (int type = 0; type < BombType.B_NUM; type++) { String typeName = BombType.getBombInternalName(type); if (bombChoices[type] > 0) { output.write(indentStr(indentLvl+2) + "<bomb type=\"");