public int getBaseTimeFor(Entity entity) { if (null != entity) { if (entity instanceof Tank) { return 3; } //December 2017 errata, only large craft should return 15m/point. else if (entity.hasETypeFlag(Entity.ETYPE_DROPSHIP) || entity.hasETypeFlag(Entity.ETYPE_JUMPSHIP)) { return 15; } } return 5; }
/** * Get the appropriate instance of a FireControl object for the given entity. * @param entity The entity in question. * @return Instance of FireControl */ FireControl getFireControl(Entity entity) { if(entity.hasETypeFlag(Entity.ETYPE_INFANTRY)) { return fireControls.get(FireControlType.Infantry); } return fireControls.get(FireControlType.Basic); }
@Override public int getBaseTime() { //Published errata for replacement times of small aero vs large craft Entity e = unit.getEntity(); if (e.hasETypeFlag(Entity.ETYPE_DROPSHIP) || e.hasETypeFlag(Entity.ETYPE_JUMPSHIP)) { return 1200; } return 260; }
@Override public int getDifficulty() { Entity e = unit.getEntity(); //Published errata for replacement times of small aero vs large craft if (e.hasETypeFlag(Entity.ETYPE_DROPSHIP) || e.hasETypeFlag(Entity.ETYPE_JUMPSHIP)) { return 0; } else { return -1; } }
public boolean canLoad(Entity unit) { return unit.hasETypeFlag(Entity.ETYPE_DROPSHIP) && (unit.getWeight() <= 5000) && (currentSpace >= 1); }
public static boolean usesKgStandard(Entity entity) { return entity.hasETypeFlag(Entity.ETYPE_BATTLEARMOR) || entity.hasETypeFlag(Entity.ETYPE_PROTOMECH) || (EntityWeightClass.getWeightClass(entity.getWeight(), entity) == EntityWeightClass.WEIGHT_SMALL_SUPPORT); }
@Override public int getDifficulty() { if(isSalvaging()) { Entity e = unit.getEntity(); if (e.hasETypeFlag(Entity.ETYPE_DROPSHIP) || e.hasETypeFlag(Entity.ETYPE_JUMPSHIP)) { return 0; } else { return -1; } } return 1; }
private boolean isEnemyInfantry(final Entity entity, final Coords coords) { return entity.hasETypeFlag(Entity.ETYPE_INFANTRY) && !entity.hasETypeFlag(Entity.ETYPE_MECHWARRIOR) && entity.getOwner().isEnemyOf(getLocalPlayer()) && !getStrategicBuildingTargets().contains(coords); }
@Override public double getTonnage(Entity entity, int location) { if ((entity != null) && entity.hasETypeFlag(Entity.ETYPE_PROTOMECH)) { return getRackSize() * 0.2; } else { return super.getTonnage(entity, location); } } /*
@Override public boolean canLoad(Entity unit) { return (troopers == Entity.NONE) && unit.hasETypeFlag(Entity.ETYPE_PROTOMECH) && unit.hasWorkingMisc(MiscType.F_MAGNETIC_CLAMP) && (!rear || unit.getWeightClass() < EntityWeightClass.WEIGHT_SUPER_HEAVY); }
@Override public double getTonnage(Entity entity, int location) { if ((null != entity) && entity.hasETypeFlag(Entity.ETYPE_PROTOMECH)) { return getRackSize() * 0.2; } else { return super.getTonnage(entity, location); } } /*
@Override public double getTonnage(Entity entity, int location) { if ((null != entity) && entity.hasETypeFlag(Entity.ETYPE_PROTOMECH)) { return getRackSize() * 0.25; } else { return super.getTonnage(entity, location); } }
@Override public double getTonnage(Entity entity, int location) { if ((entity != null) && entity.hasETypeFlag(Entity.ETYPE_PROTOMECH)) { return getRackSize() * 0.4; } else { return super.getTonnage(entity, location); } } /*
@Override public double getTonnage(Entity entity, int location) { if ((null != entity) && entity.hasETypeFlag(Entity.ETYPE_PROTOMECH)) { return getRackSize() * 0.25; } else { return super.getTonnage(entity, location); } } /*
@Override public double getTonnage(Entity entity, int location) { if ((null != entity) && entity.hasETypeFlag(Entity.ETYPE_PROTOMECH)) { return getRackSize() * 0.5; } else { return super.getTonnage(entity, location); } } /*
private Entity createEntity(long etype) { Entity entity = mock(Entity.class); when(entity.hasETypeFlag(anyLong())).thenAnswer(inv -> (((Long) inv.getArguments()[0]).longValue() & etype) != 0); return entity; }
private boolean isEnemyGunEmplacement(final Entity entity, final Coords coords) { return entity.hasETypeFlag(Entity.ETYPE_GUN_EMPLACEMENT) && entity.getOwner().isEnemyOf(getLocalPlayer()) && !getStrategicBuildingTargets().contains(coords) && (null != entity.getCrew()) && !entity.getCrew().isDead(); }
@Override public void setUnit(Unit u) { super.setUnit(u); if ((null != u) && u.getEntity().hasETypeFlag(Entity.ETYPE_TANK)) { fixTankFlag(u.getEntity().getMovementMode() == EntityMovementMode.HOVER); } }
@Override public void applyDamage() { m_bImmobile |= m_bImmobileHit; //Towed trailers need to use the values of the tractor, or they return Immobile due to 0 MP... if (isTrailer() && getTractor() != Entity.NONE && game.getEntity(getTractor()).hasETypeFlag(Entity.ETYPE_TANK)) { Tank Tractor = (Tank) game.getEntity(getTractor()); m_bImmobile = Tractor.m_bImmobile; m_bImmobileHit = Tractor.m_bImmobileHit; } super.applyDamage(); }
@Override public double getWeightEngine() { double wt = super.getWeightEngine(); // Conventional fighters with fusion engines require extra shielding. // Per TacOps fission engines require extra shielding as well. if (getEntity().hasETypeFlag(Entity.ETYPE_CONV_FIGHTER) && (null != getEntity().getEngine()) && (getEntity().getEngine().isFusion() || getEntity().getEngine().hasFlag(Engine.FISSION))) { wt = ceil(wt * 1.5, Ceil.HALFTON); } return wt; }