Class ProtoMek
- All Implemented Interfaces:
Serializable,ICarryable,Transporter,InGameObject,CombatRole,ForceAssignable,ITechnology,ITurnOrdered,PhaseUpdated,RoundUpdated,BTObject,Deployable,Targetable
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class megamek.common.units.Entity
Entity.InvalidSourceBuildReasonNested classes/interfaces inherited from interface megamek.common.equipment.ICarryable
ICarryable.CarriedObjectDamageAllocation -
Field Summary
FieldsModifier and TypeFieldDescriptionContains a mapping of locations which are blocked when carrying cargo in the "key" locationstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final int[]static final intstatic final intstatic final intstatic final String[]static final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final TechAdvancementstatic final TechAdvancementstatic final TechAdvancementstatic final TechAdvancementstatic final TechAdvancementFields inherited from class megamek.common.units.Entity
_isEMId, abandonmentAnnouncedRound, ALTERNATE_MASC_FAILURE, ALTERNATE_MASC_FAILURE_ENHANCED, altitude, ammoList, armorTechLevel, armorTechRating, armorTonnage, armorType, armsFlipped, asewAffectedTurns, aTracker, baVDNINeedsFeedbackMessage, BLOOD_STALKER_TARGET_CLEARED, bMASCWentUp, bombList, boobyTrapInitiated, bSuperchargerWentUp, C3_NETWORK_ID_SEPARATOR, c3CompanyMasterIndex, c3Master, c3NetIdString, camouflage, canUnstickByJumping, carcass, chassis, clanChassisName, climbing, climbingLevelsChosen, consecutiveRHSUses, convertingNow, coolFromExternal, crits, damageThisPhase, damageThisRound, dangling, delta_distance, designValid, destroyed, displacementAttack, DMG_CRIPPLED, DMG_HEAVY, DMG_LIGHT, DMG_MODERATE, DMG_NONE, dodging, DOES_NOT_TRACK_HEAT, done, doomed, eiShutdown, elevation, empInterferenceHeat, empInterferenceRounds, empShutdownRounds, engineHitsThisPhase, engineTechRating, equipmentList, ETYPE_AERO, ETYPE_AEROSPACE_FIGHTER, ETYPE_ARMLESS_MEK, ETYPE_BATTLEARMOR, ETYPE_BATTLEFIELD_SUPPORT_ASSET, ETYPE_BIPED_MEK, ETYPE_BUILDING_ENTITY, ETYPE_COMBAT_VEHICLE_ESCAPE_POD, ETYPE_CONV_FIGHTER, ETYPE_DROPSHIP, ETYPE_FIGHTER_SQUADRON, ETYPE_FIXED_WING_SUPPORT, ETYPE_GUN_EMPLACEMENT, ETYPE_HANDHELD_WEAPON, ETYPE_INFANTRY, ETYPE_JUMPSHIP, ETYPE_LAND_AIR_MEK, ETYPE_LARGE_SUPPORT_TANK, ETYPE_MEK, ETYPE_MEKWARRIOR, ETYPE_PROTOMEK, ETYPE_QUAD_MEK, ETYPE_QUADVEE, ETYPE_SMALL_CRAFT, ETYPE_SPACE_STATION, ETYPE_SUPER_HEAVY_TANK, ETYPE_SUPPORT_TANK, ETYPE_SUPPORT_VTOL, ETYPE_TANK, ETYPE_TELEMISSILE, ETYPE_TRIPOD_MEK, ETYPE_VTOL, ETYPE_WARSHIP, externalId, facing, failedEquipmentList, fell, findingClub, firingSolutions, fluff, game, gotPavementOrRoadBonus, GRAPPLE_BOTH, GRAPPLE_LEFT, GRAPPLE_RIGHT, hardenedArmorDamaged, hasDamagedRHS, hasExternalSearchlight, heat, heatBuildup, heatFromExternal, heatSinkCoolantFailureFactor, hiddenActivationPhase, hullDown, icon, id, iGame, illuminated, iNarcPods, incomingGuidedAttacks, infernos, initialBV, inReverse, isC3ecmAffected, isCarefulStanding, isHidden, isJumpingNow, jumpMP, killerId, lastTarget, lastTargetDisplayName, layingMines, LOC_DESTROYED, LOC_NONE, locationBlownOff, locationBlownOffThisPhase, m_lNarcedBy, m_lPendingNarc, madePointblankShot, manualBV, manualShutdown, MASC_FAILURE, MAX_C3_NODES, MAX_C3i_NODES, MAX_NOVA_CEWS_NODES, military, miscList, mixedTech, model, moved, movedLastRound, movementMode, mpUsed, mpUsedLastRound, mulId, narcPods, nCrew, nMarines, nMASCLevel, nPassenger, nSuperchargerLevel, OBSOLETE_UNKNOWN_MARKER, omni, owner, ownerId, pendingAbandon, pendingINarcPods, pendingNarcPods, previousMovementMode, prone, published, reckless, reportedVDNIFeedbackThisPhase, rhsWentUp, rolledForEngineExplosion, searchlightIsActive, searchlightOverride, sec_facing, secondaryPositions, selfDestructedThisTurn, selfDestructing, selfDestructInitiated, sensorContacts, shutDown, shutdownByBATaser, shutDownThisPhase, source, spotting, STARTING_ANY_NONE, startupThisPhase, struck, structuralTechRating, structureTechLevel, structureType, stuckInSwamp, TA_ARMORED_COMPONENT, TA_MIXED_TECH, TA_OMNI, TA_PATCHWORK_ARMOR, taggedBy, targetBay, taserFeedBackRounds, taserInterference, taserInterferenceHeat, taserInterferenceRounds, taserShutdownRounds, techFaction, techLevel, tmTracker, totalWeaponList, traitorId, twistedPhase, underwaterRounds, unjammingRAC, UNLIMITED_JUMP_DOWN, usedMASC, usedRHSLastTurn, usedSearchlight, usedSupercharger, useManualBV, vectors, walkMP, weaponBayList, weaponGroupList, weaponList, weight, wigeBonus, yearFields inherited from interface megamek.common.interfaces.ITechnology
DATE_ES, DATE_NONE, DATE_PSFields inherited from interface megamek.common.units.Targetable
TYPE_BLDG_IGNITE, TYPE_BLDG_TAG, TYPE_BUILDING, TYPE_ENTITY, TYPE_FLARE_DELIVER, TYPE_FUEL_TANK, TYPE_FUEL_TANK_IGNITE, TYPE_HEX_AERO_BOMB, TYPE_HEX_ARTILLERY, TYPE_HEX_BOMB, TYPE_HEX_CLEAR, TYPE_HEX_EXTINGUISH, TYPE_HEX_IGNITE, TYPE_HEX_SCREEN, TYPE_HEX_TAG, TYPE_I_NARC_POD, TYPE_MINEFIELD_CLEAR, TYPE_MINEFIELD_DELIVER, TYPE_SATURATION, TYPE_SEARCHLIGHT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdd in any piloting skill modsMounted<?> addEquipment(EquipmentType equipmentType, int loc) Creates a new mount for this equipment and adds it in.Mounted<?> addEquipment(EquipmentType equipmentType, int loc, boolean rearMounted) Creates a new mount for this equipment and adds it in.Mounted<?> addEquipment(EquipmentType etype, int loc, boolean rearMounted, int shots) mounting weapons needs to take account of ammoprotected voidaddEquipment(Mounted<?> mounted, int loc, boolean rearMounted, int shots) protected voidaddSystemTechAdvancement(CompositeTechLevel techLevel) Incorporate dates for components that are not in the equipment list, such as engines and structure.voidSets the internal structure for every location to appropriate undamaged values for the unit and location.booleanbooleancanBrace()booleanCan this entity change secondary facing at all?booleanbooleancanDFA()booleanReturns true if the entity can pick up ground objectsbooleancanTransferCriticalSlots(int loc) Returns true if this location should transfer criticalSlots to the next location inwards.checkLandingInHeavyWoods(EntityMovementType overallMoveType, Hex curHex) Checks if an entity is landing (from a jump) in heavy woods.checkSkid(EntityMovementType moveType, Hex prevHex, EntityMovementType overallMoveType, MoveStep prevStep, MoveStep currStep, int prevFacing, int curFacing, Coords lastPos, Coords curPos, boolean isInfantry, int distance) Checks if the entity might skid.intclipSecondaryFacing(int dir) Returns the closest valid secondary facing to the given direction.intintgetArmor(int loc, boolean rear) Returns the amount of armor in the location specified, or IArmorState.ARMOR_NA, or IArmorState.ARMOR_DESTROYED.doubleThe total weight of the armor on this unit.ProtoMeks don't take piloting skill rolls.Method that returns the mapping between locations which, if cargo is carried, block other locations from firing.intDetermines where to place equipment that does not require a specific location.intreturn - the base construction option tech advancementdoublegetCost(CalculationReport calcReport, boolean ignoreAmmo) Calculates and returns the C-bill cost of the unit.intgetCritsHit(int loc) Counts the # of crits taken by proto in the location.A list of the "default" cargo pick up locations for when none is specifiedintlongprotected Mounted<?> getEquipmentForWeaponQuirk(QuirkEntry quirkEntry) Returns the Mounted that is referred to by the quirkEntry (which must be a weapon quirk).intCalculates a "generic" Battle Value that is based on the average of all units of this type and tonnage.intintgetInternal(int loc) Returns the amount of internal structure in the location specified, or ARMOR_NA, or ARMOR_DESTROYED.intgetJumpMP(MPCalculationSetting mpCalculationSetting) intgetLocationAbbr(int loc) Returns the abbreviated name of the location specified.String[]getLocationDamage(int loc) String[]intgetMaxElevationDown(int currElevation) Returns the maximum number of downward elevation changes a unit can make.getMovementAbbr(EntityMovementType movementType) Returns the abbreviation of the name of the type of movement used.getMovementString(EntityMovementType movementType) Returns the name of the type of movement used.protected int[]intgetNumberOfCriticalSlots(int loc) intgetPilotDamageTaken(int loc) Returns # of pilot damage points taken due to crits to the location so far.doubleReturns a multiplier that combines multiplicative construction cost modifiers for this Entity.intReturns the recovery time for this entity in minutes.intgetRunMP(MPCalculationSetting mpCalculationSetting) getRunMPasString(boolean gameState) Returns this entity's running/flank mp as a string.ProtoMeks in Full Tracking mode are Experimental tech per IO:AE p.69 due to built-in EI.Mounted<?> getTorsoWeapon(int torsoNum) Get the weapon in the given torso location (if any).Gets the location that excess damage transfers to.intA list of all the locations that the entity can use to pick up cargo following the TacOps "one-handed" pickup rulesintgetWalkMP(MPCalculationSetting mpCalculationSetting) intgetWeaponArc(int weaponNumber) Returns the Rules.ARC that the weapon, specified by number, fires into.intbooleanProtoMeks have EI built-in and always active unless the head is damaged.booleanProtoMeks have EI built-in per IO:AE p.69, but it is only active when neural interface rules are enabled (Pilot Abilities Only or Full Tracking mode).booleanWoB protoMek interface allows it to be piloted by a quadruple amputee with a VDNI implant.booleanNot every ProtoMek has a main gun.booleanbooleanbooleanReturns whether this unit is a chassis-familiarity-eligible type for MekHQ's Familiarity systembooleanReturns TRUE if the entity meets the requirements for crippling damage as detailed in TW pg 258.booleanisCrippled(boolean checkCrew) Returns TRUE if the entity meets the requirements for crippling damage as detailed in TW pg 258.booleanReturns TRUE if the entity has been heavily damaged.booleanReturns TRUE if the entity has been lightly damaged.booleanReturns TRUE if the entity has been moderately damaged.booleanbooleanbooleanPretty much anybody's eligible for movement.booleanbooleanisGlider()booleanbooleanbooleanisLocationProhibited(Coords c, int testBoardId, int currElevation) Returns true when the given location cannot legally be entered or deployed into by this unit at the given elevation or altitude.booleanReturns true when this object is a ProtoMek or of type PM for Alpha Strike.booleanisQuad()booleanisSecondaryArcWeapon(int weaponId) Returns true if this weapon fires into the secondary facing arc.booleanisValidSecondaryFacing(int dir) Can this entity torso/turret twist the given direction?intReturns the number of locations in the entitydoubleThe maximum tonnage of ground objects that can be picked up by this unitintmaxWeapons(int location) voidnewRound(int roundNumber) Start a new roundvoidProtoMeks have EI built-in per IO:AE p.69, but BLK files do not include EI Interface equipment.rollHitLocation(int table, int side) Rolls up a hit locationrollHitLocation(int table, int side, int aimedLocation, AimingMode aimingMode, int cover) Rolls the to-hit numbervoidvoidsetEDPCharged(boolean charged) voidsetEngineHit(boolean b) voidvoidsetGrappled(int id, boolean attacker) voidsetGrappledThisRound(boolean grappled) voidsetHasMainGun(boolean b) Not every ProtoMek has a main gun.voidsetInterfaceCockpit(boolean interfaceCockpit) Sets whether the protoMek has an Inner Sphere ProtoMek Interface.voidsetInternal(int head, int torso, int arm, int legs, int mainGun) Sets the internal structure for the pMek.voidsetIsGlider(boolean isGlider) voidsetIsQuad(boolean isQuad) voidsetPilotDamageTaken(int loc, int damage) Tells the ProtoMek to note pilot damage taken from crit damage to the locationvoidsetWingHits(int hits) booleanshaded(int loc, int numHit) A "shaded" critical is a box shaded on the record sheet, implies pilot damage when hit.intslotNumber(Mounted<?> mounted) Returns the slot in which the given mounted equipment is in its main location.Generates a vector containing reports on all useful information about this entity.Methods inherited from class megamek.common.units.Entity
activateRadicalHS, addAttackedByThisTurn, addBeenDetectedBy, addBeenSeenBy, addBomb, addBomb, addClanCase, addConditionBonuses, addCoolantFailureAmount, addCritical, addCritical, addCritical, addEquipment, addEquipment, addEquipment, addEquipment, addEquipment, addEquipment, addEquipment, addEquipment, addFailedEquipment, addFiringSolution, addGhostTargetDefensiveBonus, addGhostTargetOffensiveBonus, addGroundAttackedByThisTurn, addIMPHits, addIntrinsicTransporters, addKill, addOffBoardObserver, addPassedThrough, addPilotingModifierForTerrain, addPilotingModifierForTerrain, addPilotingModifierForTerrain, addPilotingModifierForTerrain, addRoofRack, addSensorContact, addTargetedBySwarm, addTechComponent, addTowedUnit, addTransporter, addTransporter, addTsempHitThisTurn, addWeaponGroup, antiTSMVulnerable, applyDamage, applyGravityEffectsOnMP, applyMagneticPulse, armorStringFor, assignAMS, assignTMAMS, assignWeaponQuirk, attachINarcPod, attachNarcPod, braceLocation, C3MasterIs, calcElevation, calcElevation, calculateBattleValue, calculateBattleValue, calculateBattleValue, calculateBattleValue, calculateFreeC3MNodes, calculateFreeC3Nodes, canActivateBloodStalker, canAnnounceAbandon, canAssist, canBePickedUp, canEjectCrew, canEscape, canFall, canFall, canFireWeapon, canFlee, canFlee, canFleeFrom, canFleeInState, canFlipArms, canGoDown, canGoDown, canGoHullDown, canGoUp, canHide, canInitiateInfantryVsInfantryCombat, canLayDemolitionCharges, canLayMine, canLoad, canLoad, canLoad, canonUnitWithInvalidBuild, canPerformGroundSalvageOperations, canPerformSpaceSalvageOperations, canPickupCarryableObject, canRam, canReinforceInfantryVsInfantry, canShutdownEi, canSpot, canTow, canUnjamRAC, canUnstickByJumping, changeHeatBuildup, checkBogDown, checkDislodgeSwarmers, checkForMASCFailure, checkForSuperchargerFailure, checkGetUp, checkGunningIt, checkLandingOnBlackIce, checkLandingOnIce, checkLandingWithDamage, checkLandingWithPrototypeJJ, checkMovedTooFast, checkMovementInBuilding, checkRecklessMove, checkRubbleMove, checkRunningWithDamage, checkSideSlip, checkSprintingWithMASCAndSupercharger, checkSprintingWithMASCXorSupercharger, checkTurnModeFailure, checkUnstall, checkUsingOverdrive, checkWaterMove, checkWaterMove, chooseSide, clearAttackedByThisTurn, clearBombs, clearDestroyedNarcPods, clearDetectedBy, clearFiringSolutions, clearHeatBreakdown, clearInfantryCombatState, clearNarcAndiNarcPods, clearPartialRepairs, clearSeenBy, clearSensorContacts, climbMode, countEquipment, countForStrengthSum, countMisc, countPartialRepairs, countQuirks, countQuirks, countWeaponQuirks, countWorkingMisc, countWorkingMisc, countWorkingMisc, crewCanLeave, critStateCount, damage, damageBayDoor, damagedJumpJets, damageDockCollar, damageDoorRecovery, damagedSCMCritCount, damageSystem, damageSystem, deactivateRadicalHS, defaultCrewType, deployOffBoard, destroy, destroyLocation, destroyLocation, destroyOneSearchlight, destroyRetractableBlade, disconnectUnit, doBattleValueCalculation, doCheckEngineStallRoll, doomedInAtmosphere, doomedInExtremeTemp, doomedInSpace, doomedInVacuum, doomedOnGround, dropCarriedObject, dropCarriedObject, dropGroundObjects, elevationOccupied, elevationOccupied, endOfTurnCargoInteraction, entityIsQuad, equals, extendBlade, factionTechLevel, findTargetedDisplacement, fixElevation, formatHeat, gameOptions, generalName, generateDisplayName, generateShortName, getAbandonmentAnnouncedRound, getActiveAMS, getActiveSensor, getActiveSubEntities, getActiveUMUCount, getActiveVibrobladeHeat, getActiveVibrobladeHeat, getAllGyroCodeName, getAllowedPhysicalAttacks, getAllTowedUnits, getAllUMUCount, getAlreadyTwisted, getAlternateCost, getAltitude, getAmmo, getAmmo, getAmmo, getAnyTypeMaxJumpMP, getArmedMPBoosters, getArmor, getArmor, getArmoredComponentTechAdvancement, getArmorForReal, getArmorForReal, getArmorRemainingPercent, getArmorString, getArmorString, getArmorTechLevel, getArmorTechRating, getArmorType, getArmorWeight, getArmsFlipped, getASEWAffected, getAttackedByThisTurn, getAttackingEntity, getBadCriticalSlots, getBAPRange, getBARRating, getBase64Icon, getBaseAvailability, getBaseChassisFireConWeight, getBaseChassisValue, getBaseEngineValue, getBasePilotingRoll, getBay, getBayByAmmo, getBayById, getBayLoadedUnitIds, getBayPersonnel, getBloodStalkerTarget, getBlueShieldRounds, getBoardId, getBoardLocation, getBombLoadout, getBombLoadout, getBombs, getBombs, getBoobyTrap, getBoobyTrapDamage, getBvCalculator, getC3ecmAffected, getC3iNextUUIDAsString, getC3Master, getC3MasterId, getC3MasterIsUUIDAsString, getC3NetId, getC3Top, getC3UUIDAsString, getCamouflage, getCamouflageOrElse, getCamouflageOrElse, getCamouflageOrElseOwners, getCargoMpReduction, getCarriedObject, getCarriedObjects, getChassis, getClanChassisName, getClimbingLevelsChosen, getClubs, getCollarById, getCommonDate, getCommonDateRange, getConnectedUnits, getConsecutiveRHSUses, getConversionMode, getCoolantFailureAmount, getCost, getCrew, getCritical, getCriticalSlots, getCustomWeaponOrder, getCustomWeaponOrder, getDamagedCriticalSlots, getDamageLevel, getDamageLevel, getDamageReductionFromModularArmor, getDependentLocation, getDeployRound, getDisplacementAttack, getDisplayName, getDistinctCarriedObjects, getDockingCollars, getDocks, getDocks, getDropCargoLocationMap, getDroppableUnits, getDuplicateMarker, getEarliestTechDate, getEarliestTechDateAndEra, getECCMInfo, getECCMStrength, getECMInfo, getECMRange, getECMStrength, getElevation, getEMPInterferenceRounds, getEMPShutdownRounds, getEmptyCriticalSlots, getEngine, getEngineCritHeat, getEngineTechRating, getEngineType, getEntityMajorTypeName, getEntityTypeName, getEquipment, getEquipment, getEquipmentNum, getEquipmentType, getEvasionBonus, getExteriorUnitAt, getExternalBombLoadout, getExternalId, getExternalIdAsString, getExternalUnits, getExtinctionDate, getExtinctionDate, getExtinctionRange, getExtraC3BV, getExtraCommGearTons, getExtremeRangeModifier, getFacing, getFacingName, getFailedEquipment, getFighterBays, getFiringSolutions, getFleeZone, getFluff, getFluffImage, getForceGeneratorAvailability, getForceId, getForceString, getForwardArc, getFreeC3iUUID, getFreeNC3UUID, getFullChassis, getGame, getGaveKillCredit, getGhostTargetDefensiveBonus, getGhostTargetOffensiveBonus, getGhostTargetOverride, getGhostTargetRoll, getGhostTargetRollMoS, getGoodCriticalSlots, getGrappleSide, getGroundAttackedByThisTurn, getGyroType, getHeading, getHeat, getHeatBreakdown, getHeatCapacity, getHeatCapacity, getHeatCapacityWithWater, getHeatFiringModifier, getHeatInArc, getHeatMPReduction, getHeight, getHiddenActivationPhase, getHitchCarrying, getHitchLocations, getHitCriticalSlots, getHittableCriticalSlots, getHQIniBonus, getIcon, getId, getImpLastTurn, getImpMpReduction, getImpToHitModifier, getINarcPodsAttached, getIndividualWeaponList, getInfantryCombatTargetId, getInfantryCombatTurnCount, getInitialBV, getInternal, getInternalBombLoadout, getInternalForReal, getInternalRemainingPercent, getInternalString, getIntroductionDate, getIntroductionDate, getIntroductionDateAndEra, getInvalidSourceBuildReasons, getIsJumpingNow, getJumpHeat, getJumpMP, getJumpMPWithTerrain, getKillerId, getKillNumber, getKills, getLabArmorTonnage, getLabTotalArmorPoints, getLastTarget, getLastTargetDisplayName, getLaunchableDropships, getLaunchableFighters, getLaunchableSmallCraft, getLoadedKeepers, getLoadedTrailers, getLoadedUnits, getLocationAbbr, getLocationFromAbbr, getLocationName, getLocationName, getLocationStatus, getLongRangeModifier, getLOSRangeModifier, getMagneticPulseRounds, getManualBV, getMASC, getMASCTarget, getMASCTurns, getMaxElevationChange, getMaxElevationDown, getMaxWeaponRange, getMaxWeaponRange, getMechanicalJumpBoosterMP, getMechanicalJumpBoosterMP, getMediumRangeModifier, getMisc, getMisc, getMiscEquipment, getMissionRoles, getMixedTechAdvancement, getModel, getMotiveSideMod, getMovedBackwards, getMovementBeforeSkidPSRModifier, getMovementMode, getMovementModeAsString, getMPBoosters, getMPBoosters, getMpUsedLastRound, getMulId, getNC3NextUUIDAsString, getNCrew, getNeuralInterfaceMode, getNewRoundNovaNetworkString, getNextSensor, getNMarines, getNPassenger, getNumberOfCriticalSlots, getNumberOfCriticalSlots, getNumberOfCriticalSlots, getNumberOfShields, getOArmor, getOArmor, getOArmor, getObsoleteQuirkValue, getObsoleteRepairModifier, getObsoleteResaleModifier, getObsoleteYear, getObsoleteYearForModifiers, getObsoleteYears, getOccupiedCoords, getOccupiedHex, getOffBoardDirection, getOffBoardDistance, getOInternal, getOInternal, getOmniAdvancement, getOmniAdvancement, getOriginalBuildYear, getOriginalChassis, getOriginalJumpMP, getOriginalJumpMP, getOriginalModel, getOriginalNovaC3NetId, getOriginalRunMP, getOriginalUnitFileUUID, getOriginalWalkMP, getOwner, getOwnerId, getPartialRepairs, getPassedThrough, getPassedThroughBoardId, getPassedThroughFacing, getPassengerCapacityWithoutBayCrew, getPatchworkArmorAdvancement, getPendingVariableRangeTargetingMode, getPickedUpMekWarriors, getPickupLocationMap, getPlayerPickedPassThrough, getPodMountedTroopCarryingSpace, getPosition, getPowerAmplifierWeight, getPriorPosition, getProductionDate, getProductionDate, getProductionDateRange, getPrototypeDate, getPrototypeDate, getPrototypeRangeDate, getPublished, getPublishedSources, getQuirkIniBonus, getQuirkList, getQuirks, getRearArc, getRecoveryTurn, getReintroductionDate, getReintroductionDate, getRemovalCondition, getRetreatedDirection, getRole, getRunHeat, getRunMP, getRunMPasString, getRunMPWithoutMASC, getRunningGravityLimit, getsAutoExternalSearchlight, getSearchlightOverride, getSecondaryFacing, getSecondaryPositions, getSelfDestructedThisTurn, getSelfDestructing, getSelfDestructInitiated, getSensorCheck, getSensorContacts, getSensors, getShortName, getShortNameRaw, getShortRangeModifier, getSource, getSources, getSpotTargetId, getSprintHeat, getSprintMP, getSprintMP, getSprintMPWithOneMASC, getSprintMPWithoutMASC, getSpriteDrawPriority, getStandingHeat, getStartingAnyNWx, getStartingAnyNWx, getStartingAnyNWy, getStartingAnyNWy, getStartingAnySEx, getStartingAnySEx, getStartingAnySEy, getStartingAnySEy, getStartingOffset, getStartingOffset, getStartingPos, getStartingPos, getStartingWidth, getStartingWidth, getStealthModifier, getStrength, getStructuralTechRating, getStructureTechLevel, getStructureType, getSubEntities, getSuperCharger, getSuperchargerTarget, getSuperchargerTurns, getSwarmAttackerId, getSwarmTargetId, getTaggedBy, getTargetBay, getTargetedBySwarm, getTargetType, getTaserFeedBackRounds, getTaserInterference, getTaserInterferenceHeat, getTaserInterferenceRounds, getTaserShutdownRounds, getTCPInitiativeBonus, getTechBase, getTechBaseDescription, getTechBaseDescriptions, getTechFaction, getTechLevel, getTechLevelYear, getTechLevelYears, getTechRating, getTilesetModeString, getTMTracker, getTonnage, getTotalAmmoOfType, getTotalArmor, getTotalCommGearTons, getTotalInternal, getTotalMunitionsOfType, getTotalOArmor, getTotalOInternal, getTotalWeaponList, getTowedBy, getTowing, getTractor, getTraitorId, getTransferLocation, getTransportBays, getTransportId, getTransports, getTroopCarryingSpace, getTrooperAtLocation, getTsempEffect, getTsempHitsThisTurn, getUnitFileUUID, getUnitNumber, getUnitsUnloadableFromBays, getUnitsUnloadableFromNonBays, getUnloadableUnits, getUnused, getUnused, getUnusedString, getUnusedString, getUseManualBV, getVariableRangeTargetingMode, getVariableRangeTargetingModifier, getVector, getVectors, getVelocity, getVibroClaws, getWalkHeat, getWalkMP, getWeapon, getWeaponBayList, getWeaponFiringHeight, getWeaponFiringPosition, getWeaponGroupList, getWeaponList, getWeaponListWithHHW, getWeapons, getWeaponSortOrder, getWeight, getWeightClass, getWeightClassName, getWhoCanDetect, getWhoCanSee, getYear, hasAbility, hasAbility, hasActivatedRadicalHS, hasActiveBlueShield, hasActiveDNI, hasActiveECCM, hasActiveECM, hasActiveECM, hasActiveNovaCEWS, hasAimModeTargComp, hasAnyC3System, hasAnyTypeNarcPodsAttached, hasArcFired, hasArmoredChassis, hasArmoredEngine, hasArtillery, hasBadLegs, hasBAP, hasBAP, hasBARArmor, hasBattleArmorHandles, hasBoobyTrap, hasBoostedC3, hasC3, hasC3i, hasC3M, hasC3MM, hasC3S, hasCase, hasCASEII, hasCASEII, hasCommandConsoleBonus, hasDamagedRHS, hasDetectedEntity, hasDisplacementAttack, hasDNICockpitMod, hasDNIImplant, hasDNIInducedHardToPilot, hasDroneOs, hasECM, hasEmbeddedIcon, hasEMPInterferenceHeat, hasEngine, hasEntityScopedPreEndDeclaration, hasEnvironmentalSealing, hasETypeFlag, hasExternalSearchlight, hasFallen, hasFiredTsemp, hasFiringSolutionFor, hasFleeZone, hasFlotationHull, hasFrontMountedBulldozer, hasFrontMountedSaw, hasFunctionalArmAES, hasFunctionalLegAES, hasGhostTargetEquipment, hasGhostTargets, hasHardenedArmor, hasHarJelIn, hashCode, hasHierarchicalC3, hasHipCrit, hasINarcPodsAttached, hasInfernoAmmo, hasLegActuatorCrit, hasLinkedMGA, hasLoweredShield, hasLoweredShield, hasMinesweeper, hasMisc, hasMisc, hasMisc, hasModularArmor, hasModularArmor, hasMulId, hasNarcPodsAttached, hasNavalC3, hasNhC3, hasNoDefenseShield, hasNovaCEWS, hasObsoleteQuirk, hasOccupiedHex, hasOriginalBuildYear, hasQuirk, hasRaisedShield, hasRaisedShield, hasRearArmor, hasRearMountedBulldozer, hasRHSWentUp, hasSCM, hasSearchlight, hasSeenEntity, hasSensorContactFor, hasShield, hasStealth, hasSystem, hasTAG, hasTargComp, hasTCPAimedShotCapability, hasUMU, hasUndamagedCriticalSlots, hasUnloadedUnitsFromBays, hasUsedRHSLastTurn, hasVariableRangeTargeting, hasViableWeapons, hasVibroblades, hasWorkingBackhoe, hasWorkingBulldozer, hasWorkingMisc, hasWorkingMisc, hasWorkingMisc, hasWorkingMisc, hasWorkingRadicalHS, hasWorkingSCM, hasWorkingSystem, height, hitAllCriticalSlots, implicitClanCASE, incrementInfantryCombatTurnCount, incrementMASCAndSuperchargerLevels, initializeArmor, initializeInternal, initMilitary, initTechAdvancement, isAbandoned, isActive, isActive, isActiveOption, isAeroLandedOnGroundMap, isAeroSensorDestroyed, isAirborne, isAirborneAeroOnGroundMap, isAirborneVTOLorWIGE, isAssaultDropInProgress, isAttackingThisTurn, isBATaserShutdown, isBoardable, isBoardProhibited, isBoardProhibited, isBoobyTrapInitiated, isBracing, isC3CompanyCommander, isC3IndependentMaster, isCanon, isCapitalFighter, isCapitalFighter, isCapitalScale, isCaptured, isCarcass, isCarefulStand, isCarryableObject, isChainWhipGrappled, isChameleonShieldActive, isChameleonShieldOn, isCharging, isClan, isClanArmor, isClearingMinefield, isClearingWoods, isClimbing, isCommander, isConvertingNow, isDangling, isDeployed, isDesignValid, isDestroyed, isDetectedByEnemy, isDone, isDoomed, isDropping, isEiShutdown, isEjectionPossible, isElevationValid, isEligibleFor, isEligibleForArtyAutoHitHexes, isEligibleForFiring, isEligibleForInfantryVsInfantry, isEligibleForOffboard, isEligibleForPavementOrRoadBonus, isEligibleForPhysical, isEligibleForPreEndDeclarations, isEligibleForTargetingPhase, isEnemyOf, isEvading, isEverSeenByEnemy, isFindingClub, isFiredTsempThisTurn, isFirefighter, isGhostTargetCapable, isGyroDestroyed, isHardenedArmorDamaged, isHidden, isHullDown, isIlluminated, isImmobile, isImmobile, isImmobileForJump, isImpEcmAffected, isINarcedBy, isINarcedWith, isInBuilding, isInDemolishableStructureHex, isInfantryCombatAttacker, isInfantryCombatWantsWithdrawal, isIntroLevel, isInvulnerable, isJumpingWithMechanicalBoosters, isLargeCraft, isLayingMines, isLoadableThisTurn, isLocationBad, isLocationBlownOff, isLocationBlownOffThisPhase, isLocationDeadly, isLocationDeadly, isLocationDoomed, isLocationProhibited, isLocationProhibited, isLocationProhibited, isLocationProhibited, isLocationTrulyDestroyed, isMakingDfa, isMakingVTOLGroundAttack, isManualShutdown, isMASCUsed, isMilitary, isMixedTech, isNarcedBy, isNaval, isNeuralInterfaceEnabled, isNeuralInterfaceFullTracking, isNightwalker, isNOE, isNonCanonBySource, isNonCanonBySource, isNotCrewedEntityType, isNuclearHardened, isNullSigActive, isNullSigOn, isObsoleteInYear, isOffBoard, isOffBoardObserved, isOmni, isOnAtmosphericGroundMap, isPartOfFighterSquadron, isPendingAbandon, isPermanentlyImmobilized, isPodMountedTransport, isPowerReverse, isPrimitive, isProne, isPushing, isRamming, isReckless, isRepairable, isSalvage, isSelectableThisTurn, isSensorReturn, isShutDown, isShutDownThisPhase, isSpaceborne, isSpotting, isStalled, isStartupThisPhase, isStealthActive, isStealthOn, isStuck, isSufferingEMI, isSuperchargerUsed, isSuperHeavy, isSurfaceNaval, isTargetable, isTargetOfDisplacementAttack, isTractor, isTrailer, isTransported, isTrapped, isUncrewed, isUnderwater, isUnjammingRAC, isUnloadedThisTurn, isUnofficial, isUsingManAce, isUsingSearchlight, isVisibleToEnemy, isVoidSigActive, isVoidSigOn, isWeaponBlockedAt, isWeaponBlockedByTowing, isWeaponOrderChanged, isWeaponValidForPhase, itemOppositeTech, joinLocationAbbr, load, load, load, load, loadAllWeapons, loadDefaultCustomWeaponOrder, loadedUnitsHaveActiveECM, loadQuirks, loadWeapon, loadWeapon, loadWeaponWithSameAmmo, loadWeaponWithSameAmmo, locationHasCase, locationIsLeg, madePointblankShot, modifyPhysicalDamageForMeleeSpecialist, needsRollToStand, newPhase, newRoundNovaNetSwitch, newRoundVariableRangeSwitch, nextConversionMode, onSameC3NetworkAs, onSameC3NetworkAs, ownerHasDemolitionCharge, passedOver, passedThrough, passedThroughPrevious, passedWithin, performManualShutdown, performManualStartup, pickUp, pickupCarryableObject, postProcessFacingChange, processPickupStep, processPickupStepEntity, recordedTechLevel, recover, refreshLocations, regenerateUnitFileUUID, relHeight, reloadEmptyWeapons, removeAllINarcPods, removeAllTransporters, removeCriticalSlots, removeFiringSolution, removeINarcPod, removeMisc, removePartialCoverHits, removeSensorContact, removeTowedUnit, removeTransporter, resetBayDoors, resetBays, resetBombAttacks, resetCoolantFailureAmount, resetFiringArcs, resetPickedUpMekWarriors, resetTransporter, restore, rollMovementInBuilding, scmCritStateCount, setAbandonmentAnnouncedRound, setAlreadyTwisted, setAltitude, setArcFired, setArmor, setArmor, setArmor, setArmorTechLevel, setArmorTechLevel, setArmorTechRating, setArmorTechRating, setArmorTonnage, setArmorType, setArmorType, setArmorType, setArmorType, setArmsFlipped, setArmsFlipped, setASEWAffected, setAssaultDropInProgress, setBARRating, setBARRating, setBaseChassisFireConWeight, setBATaserShutdown, setBloodStalkerTarget, setBoardId, setBoobyTrapInitiated, setBraceLocation, setC3ecmAffected, setC3iNextUUIDAsString, setC3Master, setC3Master, setC3MasterIsUUIDAsString, setC3NetId, setC3NetId, setC3NetIdSelf, setC3UUID, setC3UUIDAsString, setCamouflage, setCanon, setCanUnstickByJumping, setCaptured, setCarcass, setCarefulStand, setCarriedObjects, setChassis, setClanChassisName, setClearingMinefield, setClearingWoods, setClimbing, setClimbingLevelsChosen, setClimbMode, setCommander, setConsecutiveRHSUses, setConversionMode, setConvertingNow, setCritical, setCustomWeaponOrder, setCustomWeaponOrder, setDangling, setDeployed, setDeployRound, setDesignValid, setDestroyed, setDetectedByEnemy, setDisplacementAttack, setDisplayName, setDone, setDoomed, setDuplicateMarker, setEiShutdown, setElevation, setEMI, setEMPInterference, setEMPShutdownRounds, setEngine, setEngineTechRating, setEngineTechRating, setEvading, setEverSeenByEnemy, setExternalId, setExternalIdAsString, setExternalSearchlight, setFacing, setFallen, setFindingClub, setFiredTsempThisTurn, setFleeZone, setForceGeneratorAvailability, setForceId, setForceString, setGame, setGrappleSide, setHardenedArmorDamaged, setHasDamagedRHS, setHasFiredTsemp, setHidden, setHiddenActivationPhase, setHullDown, setIcon, setId, setIGame, setIlluminated, setImpLastTurn, setInfantryCombatAttacker, setInfantryCombatTargetId, setInfantryCombatTurnCount, setInfantryCombatWantsWithdrawal, setInitialBV, setInternal, setInternal, setInvalidSourceBuildReasons, setIsJumpingNow, setJumpingWithMechanicalBoosters, setLandedAssaultDrop, setLastTarget, setLastTargetDisplayName, setLayingMines, setLoadedKeepers, setLoadedThisTurn, setLocationBlownOff, setLocationBlownOffThisPhase, setLocationStatus, setLocationStatus, setMadePointblankShot, setMagneticPulseHit, setManualBV, setManualShutdown, setMASCUsed, setMissionRoles, setMixedTech, setModel, setMovedBackwards, setMovementMode, setMulId, setNC3NextUUIDAsString, setNCrew, setNeverDeployed, setNewRoundNovaNetworkString, setNextSensor, setNMarines, setNPassenger, setOffBoard, setOmni, setOriginalBuildYear, setOriginalJumpMP, setOriginalWalkMP, setOwner, setOwnerId, setPassedThrough, setPassedThroughBoardId, setPassedThroughFacing, setPendingAbandon, setPendingVariableRangeTargetingMode, setPlayerPickedPassThrough, setPosition, setPosition, setPowerReverse, setProne, setPublished, setPublishedSources, setQuirks, setRamming, setRapidFire, setReckless, setRecoveryTurn, setRemovalCondition, setRetreatedDirection, setSalvage, setSearchlightOverride, setSearchlightState, setSecondaryFacing, setSecondaryFacing, setSelfDestructedThisTurn, setSelfDestructing, setSelfDestructInitiated, setShutDown, setShutDownThisPhase, setSource, setSources, setSpotTargetId, setSpotting, setStartingAnyNWx, setStartingAnyNWy, setStartingAnySEx, setStartingAnySEy, setStartingOffset, setStartingPos, setStartingWidth, setStartupThisPhase, setStruck, setStructuralTechRating, setStructuralTechRating, setStructureTechLevel, setStructureType, setStructureType, setStuck, setSuperchargerUsed, setSwarmAttackerId, setSwarmTargetId, setTaggedBy, setTargetBay, setTaserFeedback, setTaserInterference, setTaserShutdownRounds, setTechFaction, setTechLevel, setTowedBy, setTowing, setTractor, setTraitorId, setTransportId, setTsempEffect, setTurnInterrupted, setUnitFileUUID, setUnitNumber, setUnitRole, setUnjammingRAC, setUnloaded, setUsedRHSLastTurn, setUsedSearchlight, setUseManualBV, setVariableRangeTargetingMode, setVectors, setVisibleToEnemy, setWeaponHit, setWeaponOrderChanged, setWeaponSortOrder, setWeight, setWhoCanDetect, setWhoCanSee, setWigeLiftoffHover, setYear, shouldDeploy, shouldOffBoardDeploy, shouldUseEdge, sideTable, sideTable, sideTable, sideTable, sideTableRam, sideTableRam, specificName, statusToString, statusToString, statusToString, storeOriginalUnitData, storeSavedUnitData, taserShutdown, toggleConversionMode, toString, towUnit, turnWasInterrupted, unload, updateBays, updateDuplicateMarkerAfterDelete, usedSearchlight, usedTag, usesTurnMode, usesWeaponBays, wasLoadedThisTurn, wasNeverDeployed, wasStruck, weaponFired, weaponFiredFrom, whichBay, wigeLiftoffHoverMethods inherited from class megamek.common.turns.TurnOrdered
clearInitiative, generateTurnOrder, getAeroTurns, getDropshipTurns, getEvenTurns, getInitCompensationBonus, getInitiative, getJumpshipTurns, getMultiTurns, getNormalTurns, getOtherTurns, getSmallCraftTurns, getSpaceStationTurns, getTeleMissileTurns, getWarshipTurns, incrementAeroTurns, incrementDropshipTurns, incrementEvenTurns, incrementJumpshipTurns, incrementMultiTurns, incrementOtherTurns, incrementSmallCraftTurns, incrementSpaceStationTurns, incrementTeleMissileTurns, incrementWarshipTurns, resetAeroTurns, resetDropshipTurns, resetEvenTurns, resetInitiativeCompensation, resetJumpshipTurns, resetMultiTurns, resetOtherTurns, resetSmallCraftTurns, resetSpaceStationTurns, resetTeleMissileTurns, resetWarshipTurns, rollInitAndResolveTies, rollInitAndResolveTies, rollInitiative, rollInitiative, setInitCompensationBonus, setInitiativeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface megamek.common.units.BTObject
hasAerodyneSpheroidDistinction, isAero, isAerodyne, isAerospace, isAerospaceFighter, isAerospaceSV, isBattleArmor, isBattlefieldSupportAsset, isBattleMek, isCombatVehicle, isConventionalFighter, isConventionalInfantry, isDropShip, isFighter, isFixedWingSupport, isGround, isHandheldWeapon, isIndustrialMek, isInfantry, isJumpShip, isLargeAerospace, isMek, isObjectiveMarker, isQuadMek, isSingleUnit, isSmallCraft, isSpaceStation, isSpheroid, isSupportVehicle, isTripodMek, isUnitGroup, isVehicle, isWarShipMethods inherited from interface megamek.common.interfaces.CombatRole
hasRoleMethods inherited from interface megamek.common.interfaces.ForceAssignable
partOfForceMethods inherited from interface megamek.common.equipment.ICarryable
getCarriedObjectDamageAllocation, targetForArmHitToHitCarriedObjectMethods inherited from interface megamek.common.game.InGameObject
hasOwnerMethods inherited from interface megamek.common.interfaces.ITechnology
calcEraAvailability, calcEraAvailability, calcYearAvailability, calcYearAvailability, calcYearAvailability, findMinimumRulesLevel, findMinimumRulesLevel, getAdvancedRange, getAdvancedRange, getCodeFromIOAbbr, getCodeFromMMAbbr, getCommonDate, getEraAvailabilityName, getEraAvailabilityName, getExperimentalRange, getExperimentalRange, getExtinctionDate, getExtinctionRange, getFullRatingName, getFullRatingName, getIntroductionDate, getProductionDate, getPrototypeDate, getReintroductionDate, getSimpleLevel, getSimpleLevel, getSimpleLevel, getStandardRange, getStandardRange, getTechLevel, getTechLevel, getTechRatingName, isAvailableIn, isAvailableIn, isAvailableIn, isExtinct, isExtinct, isExtinct, isLegal, isLegalMethods inherited from interface megamek.common.units.Targetable
isBomber, isBuildingEntityOrGunEmplacement, isHexBeingBombed, isOnBoard, tracksHeatMethods inherited from interface megamek.common.equipment.Transporter
alwaysDamageCargoIfTransportHit, canTow, getCarryables, getNameForRecordSheets, getNumberLoadedThisTurn, getNumberUnloadedThisTurn, getTransporterType, hardpointCost, setEntity
-
Field Details
-
NUM_PROTOMEK_LOCATIONS
public static final int NUM_PROTOMEK_LOCATIONS- See Also:
-
LOC_BODY
public static final int LOC_BODY- See Also:
-
LOC_HEAD
public static final int LOC_HEAD- See Also:
-
LOC_TORSO
public static final int LOC_TORSO- See Also:
-
LOC_RIGHT_ARM
public static final int LOC_RIGHT_ARM- See Also:
-
LOC_LEFT_ARM
public static final int LOC_LEFT_ARM- See Also:
-
LOC_LEG
public static final int LOC_LEG- See Also:
-
LOC_MAIN_GUN
public static final int LOC_MAIN_GUN- See Also:
-
LOC_NEAR_MISS
public static final int LOC_NEAR_MISS- See Also:
-
SYSTEM_ARM_CRIT
public static final int SYSTEM_ARM_CRIT- See Also:
-
SYSTEM_LEG_CRIT
public static final int SYSTEM_LEG_CRIT- See Also:
-
SYSTEM_HEAD_CRIT
public static final int SYSTEM_HEAD_CRIT- See Also:
-
SYSTEM_TORSO_CRIT
public static final int SYSTEM_TORSO_CRIT- See Also:
-
SYSTEM_TORSO_WEAPON_A
public static final int SYSTEM_TORSO_WEAPON_A- See Also:
-
SYSTEM_TORSO_WEAPON_B
public static final int SYSTEM_TORSO_WEAPON_B- See Also:
-
SYSTEM_TORSO_WEAPON_C
public static final int SYSTEM_TORSO_WEAPON_C- See Also:
-
SYSTEM_TORSO_WEAPON_D
public static final int SYSTEM_TORSO_WEAPON_D- See Also:
-
SYSTEM_TORSO_WEAPON_E
public static final int SYSTEM_TORSO_WEAPON_E- See Also:
-
SYSTEM_TORSO_WEAPON_F
public static final int SYSTEM_TORSO_WEAPON_F- See Also:
-
POSSIBLE_PILOT_DAMAGE
public static final int[] POSSIBLE_PILOT_DAMAGE -
SYSTEM_NAMES
-
BLOCKED_FIRING_LOCATIONS
Contains a mapping of locations which are blocked when carrying cargo in the "key" location -
JUMP_UNKNOWN
public static final int JUMP_UNKNOWN- See Also:
-
JUMP_NONE
public static final int JUMP_NONE- See Also:
-
JUMP_STANDARD
public static final int JUMP_STANDARD- See Also:
-
JUMP_IMPROVED
public static final int JUMP_IMPROVED- See Also:
-
TA_STANDARD_PROTOMEK
-
TA_QUAD
-
TA_ULTRA
-
TA_GLIDER
-
TA_INTERFACE_COCKPIT
-
-
Constructor Details
-
ProtoMek
public ProtoMek()Construct a new, blank, pMek.
-
-
Method Details
-
getUnitType
public int getUnitType()- Specified by:
getUnitTypein classEntity- See Also:
-
getNoOfSlots
protected int[] getNoOfSlots()- Specified by:
getNoOfSlotsin classEntity
-
getPilotDamageTaken
public int getPilotDamageTaken(int loc) Returns # of pilot damage points taken due to crits to the location so far. -
getTorsoWeapon
Get the weapon in the given torso location (if any).- Parameters:
torsoNum- - aintthat corresponds to SYSTEM_TORSO_WEAPON_A thorough SYSTEM_TORSO_WEAPON_F- Returns:
- the
Mountedweapon at the needed location. This value will benullif no weapon is in the indicated location.
-
setPilotDamageTaken
public void setPilotDamageTaken(int loc, int damage) Tells the ProtoMek to note pilot damage taken from crit damage to the location -
getBasePilotingRoll
ProtoMeks don't take piloting skill rolls.- Overrides:
getBasePilotingRollin classEntity
-
shaded
public boolean shaded(int loc, int numHit) A "shaded" critical is a box shaded on the record sheet, implies pilot damage when hit. Returns whether shaded. -
getWalkMP
-
getRunMPasString
Description copied from class:EntityReturns this entity's running/flank mp as a string. Includes both the base mp and the potential mp with speed enhancers, optionally including the current status of such speed enhancers.- Overrides:
getRunMPasStringin classEntity- Parameters:
gameState- Set this totrueto include information about the current state of equipment like MASC.- Returns:
- A string like
9(15)ifgameStateisfalseor there is no currentGame, or a string like9(15) MASC:0(3+)otherwise.
-
getCritsHit
public int getCritsHit(int loc) Counts the # of crits taken by proto in the location. Needed in several places, due to proto set criticalSlots. -
addEntityBonuses
Description copied from class:EntityAdd in any piloting skill mods- Specified by:
addEntityBonusesin classEntity
-
getNumberOfCriticalSlots
public int getNumberOfCriticalSlots(int loc) - Overrides:
getNumberOfCriticalSlotsin classEntity- Returns:
- The number of total critical slots in the given location.
-
getConstructionTechAdvancement
Description copied from class:Entityreturn - the base construction option tech advancement- Specified by:
getConstructionTechAdvancementin classEntity
-
addSystemTechAdvancement
Description copied from class:EntityIncorporate dates for components that are not in the equipment list, such as engines and structure.- Overrides:
addSystemTechAdvancementin classEntity
-
newRound
public void newRound(int roundNumber) Description copied from class:EntityStart a new round- Specified by:
newRoundin interfaceRoundUpdated- Overrides:
newRoundin classEntity- Parameters:
roundNumber- theintnumber of the new round
-
getJumpMP
-
getLocationNames
- Specified by:
getLocationNamesin classEntity
-
getMovementString
Description copied from class:EntityReturns the name of the type of movement used.- Specified by:
getMovementStringin classEntity
-
getMovementAbbr
Description copied from class:EntityReturns the abbreviation of the name of the type of movement used.- Specified by:
getMovementAbbrin classEntity
-
canChangeSecondaryFacing
public boolean canChangeSecondaryFacing()Description copied from class:EntityCan this entity change secondary facing at all?- Specified by:
canChangeSecondaryFacingin classEntity
-
isValidSecondaryFacing
public boolean isValidSecondaryFacing(int dir) Description copied from class:EntityCan this entity torso/turret twist the given direction?- Specified by:
isValidSecondaryFacingin classEntity
-
clipSecondaryFacing
public int clipSecondaryFacing(int dir) Description copied from class:EntityReturns the closest valid secondary facing to the given direction.- Specified by:
clipSecondaryFacingin classEntity- Returns:
- the closest valid secondary facing.
-
getArmorWeight
public double getArmorWeight()Description copied from class:EntityThe total weight of the armor on this unit. This is guaranteed to be rounded properly for both single-type and patchwork armor.- Overrides:
getArmorWeightin classEntity- Returns:
- The armor weight in tons.
-
canPickupGroundObject
public boolean canPickupGroundObject()Description copied from class:EntityReturns true if the entity can pick up ground objects- Specified by:
canPickupGroundObjectin interfaceTransporter- Overrides:
canPickupGroundObjectin classEntity
-
maxGroundObjectTonnage
public double maxGroundObjectTonnage()Description copied from class:EntityThe maximum tonnage of ground objects that can be picked up by this unit- Overrides:
maxGroundObjectTonnagein classEntity
-
getDefaultPickupLocations
Description copied from class:EntityA list of the "default" cargo pick up locations for when none is specified- Overrides:
getDefaultPickupLocationsin classEntity
-
getValidHalfWeightPickupLocations
Description copied from class:EntityA list of all the locations that the entity can use to pick up cargo following the TacOps "one-handed" pickup rules- Overrides:
getValidHalfWeightPickupLocationsin classEntity
-
getRunMP
-
hasMyomerBooster
public boolean hasMyomerBooster()- Returns:
- True if this ProtoMek mounts an operable Myomer Booster.
- See Also:
-
getWeaponArc
public int getWeaponArc(int weaponNumber) Description copied from class:EntityReturns the Rules.ARC that the weapon, specified by number, fires into.- Specified by:
getWeaponArcin classEntity- Parameters:
weaponNumber- integer equipment number, index from equipment list- Returns:
- arc the specified weapon is in
-
isSecondaryArcWeapon
public boolean isSecondaryArcWeapon(int weaponId) Description copied from class:EntityReturns true if this weapon fires into the secondary facing arc. If false, assume it fires into the primary.- Specified by:
isSecondaryArcWeaponin classEntity
-
rollHitLocation
Description copied from class:EntityRolls up a hit location- Specified by:
rollHitLocationin classEntity
-
rollHitLocation
public HitData rollHitLocation(int table, int side, int aimedLocation, AimingMode aimingMode, int cover) Description copied from class:EntityRolls the to-hit number- Specified by:
rollHitLocationin classEntity
-
canTransferCriticalSlots
public boolean canTransferCriticalSlots(int loc) Description copied from class:EntityReturns true if this location should transfer criticalSlots to the next location inwards. Checks to see that every critical in this location is either already totally destroyed (not just hit) or was never hittable to begin with.- Overrides:
canTransferCriticalSlotsin classEntity
-
getTransferLocation
Description copied from class:EntityGets the location that excess damage transfers to. That is, one location inwards.- Specified by:
getTransferLocationin classEntity
-
firstArmorIndex
public int firstArmorIndex()- Overrides:
firstArmorIndexin classEntity- Returns:
- The index of the first armored location (skipping vehicle body, et al.)
-
setInternal
public void setInternal(int head, int torso, int arm, int legs, int mainGun) Sets the internal structure for the pMek.- Parameters:
head- headtorso- center torsoarm- right/left armlegs- right/left legmainGun- main gun
-
autoSetInternal
public void autoSetInternal()Description copied from class:EntitySets the internal structure for every location to appropriate undamaged values for the unit and location.- Specified by:
autoSetInternalin classEntity
-
addEquipment
Description copied from class:EntityCreates a new mount for this equipment and adds it in.- Overrides:
addEquipmentin classEntity- Throws:
LocationFullException
-
addEquipment
public Mounted<?> addEquipment(EquipmentType equipmentType, int loc, boolean rearMounted) throws LocationFullException Description copied from class:EntityCreates a new mount for this equipment and adds it in.- Overrides:
addEquipmentin classEntity- Throws:
LocationFullException
-
addEquipment
public Mounted<?> addEquipment(EquipmentType etype, int loc, boolean rearMounted, int shots) throws LocationFullException Description copied from class:Entitymounting weapons needs to take account of ammo- Overrides:
addEquipmentin classEntity- Parameters:
etype-EquipmentType- Throws:
LocationFullException
-
addEquipment
protected void addEquipment(Mounted<?> mounted, int loc, boolean rearMounted, int shots) throws LocationFullException - Overrides:
addEquipmentin classEntity- Throws:
LocationFullException
-
maxWeapons
public int maxWeapons(int location) -
victoryReport
Description copied from class:EntityGenerates a vector containing reports on all useful information about this entity.- Specified by:
victoryReportin classEntity
-
getMaxElevationDown
public int getMaxElevationDown(int currElevation) Description copied from class:EntityReturns the maximum number of downward elevation changes a unit can make. For some units (namely, WiGEs), this can depend upon their current elevation (since elevation determines if the WiGEs is using WiGE movement or not).- Overrides:
getMaxElevationDownin classEntity
-
getArmor
public int getArmor(int loc, boolean rear) Description copied from class:EntityReturns the amount of armor in the location specified, or IArmorState.ARMOR_NA, or IArmorState.ARMOR_DESTROYED. -
getInternal
public int getInternal(int loc) Description copied from class:EntityReturns the amount of internal structure in the location specified, or ARMOR_NA, or ARMOR_DESTROYED.- Overrides:
getInternalin classEntity
-
getLocationAbbreviations
- Specified by:
getLocationAbbreviationsin classEntity
-
getLocationAbbr
Description copied from class:EntityReturns the abbreviated name of the location specified.- Overrides:
getLocationAbbrin classEntity
-
hasMainGun
public boolean hasMainGun()Not every ProtoMek has a main gun. -
setHasMainGun
public void setHasMainGun(boolean b) Not every ProtoMek has a main gun. -
locations
public int locations()Description copied from class:EntityReturns the number of locations in the entity -
getBodyLocation
public int getBodyLocation()Description copied from class:EntityDetermines where to place equipment that does not require a specific location. What this means varies byEntitytype.- Overrides:
getBodyLocationin classEntity- Returns:
- The location to place equipment that is not required to be assigned a location, defaulting to Entity.LOC_NONE for unit types that do not have such a location.
-
setCrew
-
canCharge
public boolean canCharge() -
canDFA
public boolean canDFA() -
getCost
Description copied from class:EntityCalculates and returns the C-bill cost of the unit. The parameter ignoreAmmo can be used to include or exclude ("dry cost") the cost of ammunition on the unit. A report for the cost calculation will be written to the given calcReport. -
getPriceMultiplier
public double getPriceMultiplier()Description copied from class:EntityReturns a multiplier that combines multiplicative construction cost modifiers for this Entity.This includes only modifiers that apply to an Entity's final, total cost (e.g. - the 1.25x modifier for being an omni-unit, or the 32.0x for being an aerodyne DropShip). It does NOT include multipliers that only apply to a sub-part of the unit (e.g. the weight based multiplier that applies to a vehicle's internal structure cost).
This allows MekHQ to scale the price of a Unit's Parts in a more appropriate manner.
Defaults to 1.0
- Overrides:
getPriceMultiplierin classEntity
-
setGameOptions
public void setGameOptions()- Overrides:
setGameOptionsin classEntity
-
recalculateTechAdvancement
public void recalculateTechAdvancement()ProtoMeks have EI built-in per IO:AE p.69, but BLK files do not include EI Interface equipment. In Full Tracking mode the EI tech advancement (Experimental) must be added to the composite so that all tech level queries (year-based, static, etc.) reflect Experimental.- Overrides:
recalculateTechAdvancementin classEntity
-
getStaticTechLevel
ProtoMeks in Full Tracking mode are Experimental tech per IO:AE p.69 due to built-in EI. Off and Pilot Only modes keep ProtoMeks at their base tech level (Standard).- Specified by:
getStaticTechLevelin interfaceITechnology- Overrides:
getStaticTechLevelin classEntity- Returns:
- The base rules level of the equipment or unit.
-
hasEiCockpit
public boolean hasEiCockpit()ProtoMeks have EI built-in per IO:AE p.69, but it is only active when neural interface rules are enabled (Pilot Abilities Only or Full Tracking mode). When Off, ProtoMeks behave as standard TW units.- Overrides:
hasEiCockpitin classEntity- Returns:
- true if neural interface rules are enabled, false otherwise
-
hasActiveEiCockpit
public boolean hasActiveEiCockpit()ProtoMeks have EI built-in and always active unless the head is damaged. Unlike other units, ProtoMek pilots don't need the EI Implant option - they are neurally connected by default per IO:AE p.69. Returns false if neural interface rules are disabled (Off mode).- Overrides:
hasActiveEiCockpitin classEntity- Returns:
- true if neural interface is enabled and head is undamaged, false otherwise
-
canAssaultDrop
public boolean canAssaultDrop()- Overrides:
canAssaultDropin classEntity
-
isLocationProhibited
Description copied from class:EntityReturns true when the given location cannot legally be entered or deployed into by this unit at the given elevation or altitude. Also returns true when the location doesn't exist. Even when this method returns true, the location need not be deadly to the unit.- Overrides:
isLocationProhibitedin classEntity- Parameters:
c- The position to testtestBoardId- The board to testcurrElevation- The elevation or altitude to test- Returns:
- True when the location is illegal to be in for this unit, regardless of elevation
- See Also:
-
setGrappled
public void setGrappled(int id, boolean attacker) - Overrides:
setGrappledin classEntity
-
isGrappleAttacker
public boolean isGrappleAttacker()- Overrides:
isGrappleAttackerin classEntity
-
getGrappled
public int getGrappled()- Overrides:
getGrappledin classEntity- Returns:
- The ID of a unit that this unit is grappling or grappled by; Entity.NONE if not grappling anything and not being grappled.
-
isGrappledThisRound
public boolean isGrappledThisRound()- Overrides:
isGrappledThisRoundin classEntity
-
setGrappledThisRound
public void setGrappledThisRound(boolean grappled) - Overrides:
setGrappledThisRoundin classEntity
-
isEligibleForMovement
public boolean isEligibleForMovement()Description copied from class:EntityPretty much anybody's eligible for movement. If the game option is toggled on, inactive and immobile entities are not eligible. OffBoard units are always ineligible- Overrides:
isEligibleForMovementin classEntity- Returns:
- whether the entity is allowed to move
-
checkSkid
public PilotingRollData checkSkid(EntityMovementType moveType, Hex prevHex, EntityMovementType overallMoveType, MoveStep prevStep, MoveStep currStep, int prevFacing, int curFacing, Coords lastPos, Coords curPos, boolean isInfantry, int distance) Description copied from class:EntityChecks if the entity might skid. If so, returns the target roll for the piloting skill check. -
checkGliderLanding
-
getEngineHits
public int getEngineHits()- Specified by:
getEngineHitsin classEntity
-
getWingHits
public int getWingHits() -
setWingHits
public void setWingHits(int hits) -
isEDPCharged
public boolean isEDPCharged() -
setEDPCharged
public void setEDPCharged(boolean charged) -
isEDPCharging
public boolean isEDPCharging() -
isQuad
public boolean isQuad() -
setIsQuad
public void setIsQuad(boolean isQuad) -
isGlider
public boolean isGlider() -
setIsGlider
public void setIsGlider(boolean isGlider) -
hasInterfaceCockpit
public boolean hasInterfaceCockpit()WoB protoMek interface allows it to be piloted by a quadruple amputee with a VDNI implant. No effect on game play.- Returns:
- Whether the protoMek is equipped with an Inner Sphere ProtoMek Interface.
-
setInterfaceCockpit
public void setInterfaceCockpit(boolean interfaceCockpit) Sets whether the protoMek has an Inner Sphere ProtoMek Interface. This will also determine whether it is a mixed tech unit.- Parameters:
interfaceCockpit- Whether the protoMek has an IS interface
-
isCrippled
public boolean isCrippled()Description copied from class:EntityReturns TRUE if the entity meets the requirements for crippling damage as detailed in TW pg 258.- Specified by:
isCrippledin classEntity- Returns:
- boolean
-
isCrippled
public boolean isCrippled(boolean checkCrew) Description copied from class:EntityReturns TRUE if the entity meets the requirements for crippling damage as detailed in TW pg 258. Excepting dead or non-existing crew issues- Specified by:
isCrippledin classEntity- Returns:
- boolean
-
isDmgHeavy
public boolean isDmgHeavy()Description copied from class:EntityReturns TRUE if the entity has been heavily damaged.- Specified by:
isDmgHeavyin classEntity- Returns:
- boolean
-
isDmgModerate
public boolean isDmgModerate()Description copied from class:EntityReturns TRUE if the entity has been moderately damaged.- Specified by:
isDmgModeratein classEntity- Returns:
- boolean
-
isDmgLight
public boolean isDmgLight()Description copied from class:EntityReturns TRUE if the entity has been lightly damaged.- Specified by:
isDmgLightin classEntity- Returns:
- boolean
-
getLocationDamage
- Overrides:
getLocationDamagein classEntity
-
isEngineHit
public boolean isEngineHit() -
setEngineHit
public void setEngineHit(boolean b) -
getEntityType
public long getEntityType()- Specified by:
getEntityTypein classEntity
-
checkLandingInHeavyWoods
Description copied from class:EntityChecks if an entity is landing (from a jump) in heavy woods.- Overrides:
checkLandingInHeavyWoodsin classEntity
-
getValidBraceLocations
- Overrides:
getValidBraceLocationsin classEntity
-
canBrace
public boolean canBrace() -
getBraceMPCost
public int getBraceMPCost()- Overrides:
getBraceMPCostin classEntity
-
isProtoMek
public boolean isProtoMek()Description copied from interface:BTObjectReturns true when this object is a ProtoMek or of type PM for Alpha Strike. Returns false for any type of unit group even if it is of the right type.- Returns:
- True when this is a ProtoMek
-
getJumpType
public int getJumpType()- Overrides:
getJumpTypein classEntity
-
getGenericBattleValue
public int getGenericBattleValue()Description copied from class:EntityCalculates a "generic" Battle Value that is based on the average of all units of this type and tonnage. The purpose of this generic Battle Value is to allow a comparison of this unit's actual BV to that for units of its class. This can be used to balance forces without respect to unit or pilot quality.The generic BV values are calculated by a statistical elasticity model based on all data from the MegaMek database.
- Specified by:
getGenericBattleValuein classEntity- Returns:
- The generic Battle value for this unit based on its tonnage and type
-
slotNumber
Description copied from class:EntityReturns the slot in which the given mounted equipment is in its main location. Returns -1 when the mounted is not in a valid location or cannot be found.- Overrides:
slotNumberin classEntity- Parameters:
mounted- the equipment to look for- Returns:
- the (first) slot number that holds the mounted or -1 if none can be found
-
getEquipmentForWeaponQuirk
Description copied from class:EntityReturns the Mounted that is referred to by the quirkEntry (which must be a weapon quirk). FIXME: This is very specialized code that is only needed because we need to identify a weapon in the blk/mtf file. It might be better to write the weapon quirk directly to the weapon, removing the need to find it. Note the override in ProtoMek that doesnt use critical slots. For meks, this is challenge as the specific weapon in a location must still be addressed.- Overrides:
getEquipmentForWeaponQuirkin classEntity- Parameters:
quirkEntry- The weapon quirk entry- Returns:
- The Mounted at the specified location
-
getBlockedFiringLocations
Description copied from class:EntityMethod that returns the mapping between locations which, if cargo is carried, block other locations from firing.- Overrides:
getBlockedFiringLocationsin classEntity
-
hasPatchworkArmor
public boolean hasPatchworkArmor()- Overrides:
hasPatchworkArmorin classEntity- Returns:
- True if this unit has patchwork armor. Note that this is checked by comparing actual armor types (and tech level) across the locations - in other words, it is *not* a simple boolean flag; instead, the result will always correspond to the unit's armoring.
-
getRecoveryTime
public int getRecoveryTime()Description copied from class:EntityReturns the recovery time for this entity in minutes.This method provides the base recovery time required for this entity type. The recovery time represents the duration needed to recover, repair, or prepare the entity after deployment or damage.
Subclasses should override this method to provide entity-specific recovery times based on their type, weight class, or other relevant characteristics.
Manual Reference: CamOps pg 214
- Overrides:
getRecoveryTimein classEntity- Returns:
- The recovery time in minutes. The default implementation returns 60 minutes.
-
isChassisFamiliarityEligible
public boolean isChassisFamiliarityEligible()Description copied from class:EntityReturns whether this unit is a chassis-familiarity-eligible type for MekHQ's Familiarity system- Overrides:
isChassisFamiliarityEligiblein classEntity- Returns:
trueif familiarity is tracked for this unit
-