Copy disabled (too large)
Download .txt
Showing preview only (28,917K chars total). Download the full file to get everything.
Repository: MegaMek/mekhq
Branch: main
Commit: 25d0a42b9b21
Files: 1942
Total size: 27.1 MB
Directory structure:
gitextract_whcc6x_9/
├── .editorconfig
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.yml
│ │ ├── config.yml
│ │ └── request_for_enhancement.yml
│ ├── codecov.yml
│ ├── dependabot.yml
│ └── workflows/
│ ├── checkstyle.yml
│ ├── ci.yml
│ ├── code-coverage.yml
│ ├── codeql-analysis.yml
│ ├── dependency-scan.yml
│ ├── java-doc-pr.yml
│ ├── java-doc.yml
│ └── nightly-ci.yml
├── .gitignore
├── .mailmap
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTORS.md
├── LICENSE
├── LICENSE.assets
├── LICENSE.code
├── MHQMorale-Simulation-Analysis.txt
├── MekHQ/
│ ├── SubmitBug.html
│ ├── build.gradle
│ ├── campaigns/
│ │ └── archive/
│ │ ├── Fist and Falcon/
│ │ │ ├── Binary Bravo, 1st Falcon Strikers.cpnx
│ │ │ └── Kewran Wolfhounds, C Company, 3rd Battalion, 25th Arcturan Guards RCT.cpnx
│ │ ├── Sword and Dragon/
│ │ │ ├── Fox's Teeth, McKinnon's Company, Vausur's Battalion, Seventh Crucis Lancers RCT.cpnx
│ │ │ └── Sorenson Sabres, Jisatsu Company, Otomo, formerly Third Company, Tarwater's Battalion, Fifth Sword of Light.cpnx
│ │ └── Wolf and Blake/
│ │ ├── Black Widow Company, Church's Independent Company, Wolf's Dragoons.cpnx
│ │ └── Shadow Hunters, Opacus Venatori, Fifty-second Shadow Division.cpnx
│ ├── config/
│ │ └── checkstyle/
│ │ ├── checkstyle.xml
│ │ └── suppressions.xml
│ ├── docs/
│ │ ├── SarnaCartographyImport.md
│ │ ├── Scenario Template Editor.html
│ │ ├── StratCon/
│ │ │ ├── Custom RATs.txt
│ │ │ ├── MHQ_noble_playset_v0.31.xlsx
│ │ │ ├── Stratcon_Tips.md
│ │ │ └── stratcon-faq-2.6.md
│ │ ├── UserDirHelp.html
│ │ ├── Windchilds Guides/
│ │ │ ├── Windchilds_Guide_to_Force_Icons.txt
│ │ │ ├── Windchilds_Guide_to_MekHQ_Portrait_Generation.txt
│ │ │ └── Windchilds_Guide_to_Ranks.txt
│ │ ├── advanced_medical_overview.md
│ │ ├── custom_spa.md
│ │ ├── help/
│ │ │ └── en/
│ │ │ └── AutoResolve.html
│ │ ├── history.txt
│ │ ├── long-term-injury.md
│ │ └── scenariomodifiers.md
│ ├── mmconf/
│ │ ├── customWeaponOrder.xml
│ │ ├── defaultKeyBinds.xml
│ │ ├── defaultQuirks.xml
│ │ ├── defaultQuirksSchema.xsl
│ │ ├── defaultSkin.xml
│ │ ├── keyBindingSchema.xsd
│ │ ├── log4j2.xml
│ │ ├── milestoneReleases.yml
│ │ ├── non_combat_units_list.conf
│ │ ├── princessBehaviors.xml
│ │ ├── skinSchema.xsl
│ │ └── skins/
│ │ ├── BW - Capellan Confederation.xml
│ │ ├── BW - Circinus Federation.xml
│ │ ├── BW - Clan Blood Spirit.xml
│ │ ├── BW - Clan Burrock.xml
│ │ ├── BW - Clan Cloud Cobra.xml
│ │ ├── BW - Clan Coyote.xml
│ │ ├── BW - Clan Diamond Shark.xml
│ │ ├── BW - Clan Fire Mandrill.xml
│ │ ├── BW - Clan Ghost Bear.xml
│ │ ├── BW - Clan Goliath Scorpion.xml
│ │ ├── BW - Clan Hell's Horses.xml
│ │ ├── BW - Clan Ice Hellion.xml
│ │ ├── BW - Clan Jade Falcon.xml
│ │ ├── BW - Clan Mongoose.xml
│ │ ├── BW - Clan Nova Cat.xml
│ │ ├── BW - Clan Sea Fox.xml
│ │ ├── BW - Clan Smoke Jaguar.xml
│ │ ├── BW - Clan Snow Raven.xml
│ │ ├── BW - Clan Star Adder.xml
│ │ ├── BW - Clan Steel Viper.xml
│ │ ├── BW - Clan Widowmaker.xml
│ │ ├── BW - Clan Wolf.xml
│ │ ├── BW - Clan Wolverine.xml
│ │ ├── BW - ComStar.xml
│ │ ├── BW - Default.xml
│ │ ├── BW - Draconis Combine.xml
│ │ ├── BW - Eridani Light Horse.xml
│ │ ├── BW - Federated Commonwealth.xml
│ │ ├── BW - Federated Suns.xml
│ │ ├── BW - Free Rasalhague Republic.xml
│ │ ├── BW - Free Worlds League.xml
│ │ ├── BW - Gray Death Legion.xml
│ │ ├── BW - Kell Hounds.xml
│ │ ├── BW - Lyran Alliance.xml
│ │ ├── BW - Lyran Commonwealth.xml
│ │ ├── BW - Magistracy of Canopus.xml
│ │ ├── BW - Marian Hegemony.xml
│ │ ├── BW - McCarron's Armored Calvary.xml
│ │ ├── BW - Mercenary 3052.xml
│ │ ├── BW - Mercenary.xml
│ │ ├── BW - Northwind Highlanders.xml
│ │ ├── BW - Oberon Confederation.xml
│ │ ├── BW - Outworlds Alliance.xml
│ │ ├── BW - Rim Worlds Republic.xml
│ │ ├── BW - Snord's Irregulars.xml
│ │ ├── BW - St Ives Compact.xml
│ │ ├── BW - Star League.xml
│ │ ├── BW - Taurian Concordat.xml
│ │ ├── BW - Terran Hegemony.xml
│ │ ├── BW - Wolf's Dragoons.xml
│ │ ├── BW - Word of Blake.xml
│ │ ├── defaultSkin.xml
│ │ ├── defaultSkinScrollBars.xml
│ │ ├── plainSkin.xml
│ │ └── plainSkinScrollBars.xml
│ ├── resources/
│ │ ├── META-INF/
│ │ │ └── services/
│ │ │ └── mekhq.module.api.PersonnelMarketMethod
│ │ ├── log4j2.component.properties
│ │ └── mekhq/
│ │ └── resources/
│ │ ├── ATOWLegalityRating.properties
│ │ ├── AbortingResolveScenarioWizard.properties
│ │ ├── AbstractProcreation.properties
│ │ ├── AcquisitionsType.properties
│ │ ├── AddFundsDialog.properties
│ │ ├── AddOrEditKillEntryDialog.properties
│ │ ├── AddOrEditScenarioEntryDialog.properties
│ │ ├── AdvancedMedicalAlternateHealing.properties
│ │ ├── AdvancedReplacementLimbDialog.properties
│ │ ├── AdvancedScoutingCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── Aggression.properties
│ │ ├── AgingMilestone.properties
│ │ ├── AlertPopup.properties
│ │ ├── AltAdvancedMedicalCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── AlternateInjuries.properties
│ │ ├── Ambition.properties
│ │ ├── ApplicantTableColumns.properties
│ │ ├── Appraisal.properties
│ │ ├── AssignForceToTransport.properties
│ │ ├── AtBConfigDefaults.properties
│ │ ├── AtBContract.properties
│ │ ├── AtBDynamicScenarioFactory.properties
│ │ ├── AtBScenarioBuiltIn.properties
│ │ ├── AtBScenarioViewPanel.properties
│ │ ├── AtBStratCon.properties
│ │ ├── AtbMonthlyContractMarket.properties
│ │ ├── AttributeCheckUtility.properties
│ │ ├── AutoAwardsDialog.properties
│ │ ├── AutoResolveBehaviorSettingsDialog.properties
│ │ ├── AutoResolveBehaviorSettingsDialog_en.properties
│ │ ├── AutomatedTechAssignments.properties
│ │ ├── BatchXPDialog.properties
│ │ ├── BirthAnnouncement.properties
│ │ ├── BloodGroup.properties
│ │ ├── Bloodmark.properties
│ │ ├── BoardScalingType.properties
│ │ ├── CamOpsReputation.properties
│ │ ├── CamOpsSalvage.properties
│ │ ├── Campaign.properties
│ │ ├── CampaignExportWizard.properties
│ │ ├── CampaignGUI.properties
│ │ ├── CampaignHasProblemOnLoad.properties
│ │ ├── CampaignOptionsDialog.properties
│ │ ├── CampaignOptionsPresetPicker.properties
│ │ ├── CampaignSummary.properties
│ │ ├── CampaignUpgradeDialog.properties
│ │ ├── CampaignXmlParser.properties
│ │ ├── ChooseFactionsDialog.properties
│ │ ├── ChooseMulFilesDialog.properties
│ │ ├── ChooseRefitDialog.properties
│ │ ├── ComingOfAgeAnnouncement.properties
│ │ ├── CommandersDayAnnouncement.properties
│ │ ├── ContractAutomation.properties
│ │ ├── ContractMarketDialog.properties
│ │ ├── ContractPaymentBreakdown.properties
│ │ ├── ContractViewPanel.properties
│ │ ├── CreateCharacterDialog.properties
│ │ ├── CurrentLocation.properties
│ │ ├── CustomizeBotForceDialog.properties
│ │ ├── CustomizeMissionDialog.properties
│ │ ├── CustomizePersonDialog.properties
│ │ ├── CustomizeScenarioDialog.properties
│ │ ├── CustomizeScenarioObjectiveDialog.properties
│ │ ├── DailyReportType.properties
│ │ ├── DateChooser.properties
│ │ ├── DiminishingReturnsCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── DiplomacyReport.properties
│ │ ├── DiplomacyType.properties
│ │ ├── DiscretionarySpending.properties
│ │ ├── DocumentationEntry.properties
│ │ ├── EasyBugReport.properties
│ │ ├── EditAssetDialog.properties
│ │ ├── EditDeploymentDialog.properties
│ │ ├── EditInjuryEntryDialog.properties
│ │ ├── EditKillLogControl.properties
│ │ ├── EditKillLogDialog.properties
│ │ ├── EditMapSettingsDialog.properties
│ │ ├── EditPersonnelHitsDialog.properties
│ │ ├── EditPersonnelInjuriesDialog.properties
│ │ ├── EditPersonnelLogControl.properties
│ │ ├── EditPersonnelLogDialog.properties
│ │ ├── EditScenarioDeploymentLimitsDialog.properties
│ │ ├── EditScenarioLogControl.properties
│ │ ├── EditScenarioLogDialog.properties
│ │ ├── EditTransactionDialog.properties
│ │ ├── Education.properties
│ │ ├── EscapeArtist.properties
│ │ ├── ExtraIncome.properties
│ │ ├── FacilityRentals.properties
│ │ ├── FactionJudgmentDialog.properties
│ │ ├── FactionJudgmentNewsArticle.properties
│ │ ├── FactionJudgmentSceneDialog.properties
│ │ ├── FactionStandingGreeting.properties
│ │ ├── FactionStandingJudgments.properties
│ │ ├── FactionStandingLevel.properties
│ │ ├── FactionStandingUltimatumDialog.properties
│ │ ├── FactionStandings.properties
│ │ ├── FamilyTreeDialog.properties
│ │ ├── Fatigue.properties
│ │ ├── FatigueTrackingCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── Finances.properties
│ │ ├── FinancesTab.properties
│ │ ├── ForceTemplateAssignmentDialog.properties
│ │ ├── ForceType.properties
│ │ ├── ForceViewPanel.properties
│ │ ├── FormationLevel.properties
│ │ ├── FreedomDayAnnouncement.properties
│ │ ├── FullGlossaryDialog.properties
│ │ ├── GUI.properties
│ │ ├── GUI_en_US.properties
│ │ ├── Glossary.properties
│ │ ├── GlossaryEntry.properties
│ │ ├── GrayMonday.properties
│ │ ├── Greed.properties
│ │ ├── HireBulkPersonnelDialog.properties
│ │ ├── HistoricalDailyReportDialog.properties
│ │ ├── ImmersiveDialogConfirmation.properties
│ │ ├── InjuryEffect.properties
│ │ ├── Inoculations.properties
│ │ ├── JumpBlockers.properties
│ │ ├── JumpPathViewPanel.properties
│ │ ├── LogEntries.properties
│ │ ├── LogEntries_en_US.properties
│ │ ├── Loot.properties
│ │ ├── MASHTheatreTrackingCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── MHQMorale.properties
│ │ ├── MRMS.properties
│ │ ├── Maintenance.properties
│ │ ├── ManageAssetsDialog.properties
│ │ ├── MaplessStratConForcePicker.properties
│ │ ├── MaplessStratConScenarioPicker.properties
│ │ ├── MarginOfSuccess.properties
│ │ ├── Market.properties
│ │ ├── MedicalController.properties
│ │ ├── MedicalViewDialog.properties
│ │ ├── MekHQ.properties
│ │ ├── MekHQAboutBox.properties
│ │ ├── MekLabTab.properties
│ │ ├── MekViewDialog.properties
│ │ ├── MercRosterDialog.properties
│ │ ├── MercenaryAuctionDialog.properties
│ │ ├── Mission.properties
│ │ ├── MissionTypeDialog.properties
│ │ ├── Mission_en_US.properties
│ │ ├── NagDialogs.properties
│ │ ├── NewContractDialog.properties
│ │ ├── NewGlossaryDialog.properties
│ │ ├── NewLoanDialog.properties
│ │ ├── NewPlanetaryEventDialog.properties
│ │ ├── NewPlayerQuickstartDialog.properties
│ │ ├── NewRecruitDialog.properties
│ │ ├── NewYearsDayAnnouncement.properties
│ │ ├── NewsDialog.properties
│ │ ├── NormalizedContractPayCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── Parts.properties
│ │ ├── PartsInUseTableModel.properties
│ │ ├── PartsReportDialog.properties
│ │ ├── PartsStoreDialog.properties
│ │ ├── PartsTableModel.properties
│ │ ├── PayCollateralDialog.properties
│ │ ├── PerformBatchall.properties
│ │ ├── PersonViewPanel.properties
│ │ ├── PersonalityQuirk.properties
│ │ ├── PersonalityTraitType.properties
│ │ ├── Personnel.properties
│ │ ├── PersonnelEventLogModel.properties
│ │ ├── PersonnelKillLogModel.properties
│ │ ├── PersonnelMarket.properties
│ │ ├── PersonnelMarketDialog.properties
│ │ ├── PersonnelMarketStyle.properties
│ │ ├── PersonnelReport.properties
│ │ ├── PersonnelRole.properties
│ │ ├── PersonnelRoleSubType.properties
│ │ ├── PersonnelStatus.properties
│ │ ├── Phenotype.properties
│ │ ├── PlanetViewPanel.properties
│ │ ├── PopupValueChoiceDialog.properties
│ │ ├── PrisonerCaptureStyle.properties
│ │ ├── PrisonerEvents.properties
│ │ ├── PrisonerStatus.properties
│ │ ├── PrisonerTrackingCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── ProcurementPersonnelPick.properties
│ │ ├── ProstheticComplexity.properties
│ │ ├── ProstheticType.properties
│ │ ├── QuickTrainDialog.properties
│ │ ├── RandomDeath.properties
│ │ ├── RandomDependents.properties
│ │ ├── RandomMercenaryCompanyNameGenerator.properties
│ │ ├── Ranks.properties
│ │ ├── Rating.properties
│ │ ├── Reasoning.properties
│ │ ├── RefitNameDialog.properties
│ │ ├── ReplacementLimbDialog.properties
│ │ ├── Reports.properties
│ │ ├── ResolveScenarioTracker.properties
│ │ ├── ResolveScenarioWizardDialog.properties
│ │ ├── Resupply.properties
│ │ ├── ResupplyConvoyChoice.properties
│ │ ├── RetirementDefectionDialog.properties
│ │ ├── RetirementDefectionTracker.properties
│ │ ├── RiotScenario.properties
│ │ ├── RoninOffer.properties
│ │ ├── SalvageCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── SalvageFormationData.properties
│ │ ├── SalvageFormationPicker.properties
│ │ ├── SalvageTechPicker.properties
│ │ ├── ScenarioTableModel.properties
│ │ ├── ScenarioViewPanel.properties
│ │ ├── ScenarioWizardLanceRenderer.properties
│ │ ├── ShoppingListDialog.properties
│ │ ├── Skill.properties
│ │ ├── SkillAttribute.properties
│ │ ├── SkillCheckDialog.properties
│ │ ├── SkillCheckUtility.properties
│ │ ├── SkillDeprecationTool.properties
│ │ ├── SkillType.properties
│ │ ├── SmallSVAmmoSwapDialog.properties
│ │ ├── Social.properties
│ │ ├── SpecialAbilityPanel.properties
│ │ ├── StratConConvoyCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── StratConPlayType.properties
│ │ ├── StratConReinforcementsConfirmationDialog.properties
│ │ ├── StratConRulesManager.properties
│ │ ├── StratConSinglesReinforcementsDialog.properties
│ │ ├── TextAreaDialog.properties
│ │ ├── TransportCostCalculations.properties
│ │ ├── TutorialHyperlinkPanel.properties
│ │ ├── Unit.properties
│ │ ├── UnitTableModel.properties
│ │ ├── UnitViewPanel.properties
│ │ ├── Universe.properties
│ │ ├── Utilities.properties
│ │ ├── VeterancyAwardsCampaignOptionsChangedConfirmationDialog.properties
│ │ ├── VocationalExperienceAwardDialog.properties
│ │ ├── VoiceOfKerensky.properties
│ │ ├── WarAndPeaceProcessor.properties
│ │ ├── WinterHolidayAnnouncement.properties
│ │ └── messages.properties
│ ├── scripts/
│ │ └── shell.sh
│ ├── sentry.properties
│ ├── settings.gradle
│ ├── src/
│ │ └── mekhq/
│ │ ├── AtBGameThread.java
│ │ ├── CampaignPreset.java
│ │ ├── GameThread.java
│ │ ├── IconPackage.java
│ │ ├── MHQConstants.java
│ │ ├── MHQOptions.java
│ │ ├── MHQOptionsChangedEvent.java
│ │ ├── MHQStaticDirectoryManager.java
│ │ ├── MekHQ.java
│ │ ├── NullEntityException.java
│ │ ├── Utilities.java
│ │ ├── adapter/
│ │ │ └── DateAdapter.java
│ │ ├── campaign/
│ │ │ ├── AwardSet.java
│ │ │ ├── Campaign.java
│ │ │ ├── CampaignConfiguration.java
│ │ │ ├── CampaignController.java
│ │ │ ├── CampaignEventProcessor.java
│ │ │ ├── CampaignFactory.java
│ │ │ ├── CampaignNewDayManager.java
│ │ │ ├── CampaignSummary.java
│ │ │ ├── CampaignTransporterMap.java
│ │ │ ├── CurrentLocation.java
│ │ │ ├── ExtraData.java
│ │ │ ├── GameEffect.java
│ │ │ ├── Hangar.java
│ │ │ ├── JumpPath.java
│ │ │ ├── Kill.java
│ │ │ ├── OptimizeInfirmaryAssignments.java
│ │ │ ├── Quartermaster.java
│ │ │ ├── RandomOriginOptions.java
│ │ │ ├── ResolveScenarioTracker.java
│ │ │ ├── Warehouse.java
│ │ │ ├── againstTheBot/
│ │ │ │ ├── AtBConfiguration.java
│ │ │ │ ├── AtBStaticWeightGenerator.java
│ │ │ │ ├── DatedRecord.java
│ │ │ │ └── WeightedTable.java
│ │ │ ├── autoResolve/
│ │ │ │ ├── AutoResolveMethod.java
│ │ │ │ ├── MekHQSetupForces.java
│ │ │ │ ├── OrderFactory.java
│ │ │ │ ├── ScenarioSetupForces.java
│ │ │ │ └── StratConSetupForces.java
│ │ │ ├── camOpsReputation/
│ │ │ │ ├── AbstractUnitRating.java
│ │ │ │ ├── AverageExperienceRating.java
│ │ │ │ ├── CombatRecordRating.java
│ │ │ │ ├── CommandRating.java
│ │ │ │ ├── CrimeRating.java
│ │ │ │ ├── FieldManualMercRevDragoonsRating.java
│ │ │ │ ├── FinancialRating.java
│ │ │ │ ├── IUnitRating.java
│ │ │ │ ├── OtherModifiers.java
│ │ │ │ ├── ReputationController.java
│ │ │ │ ├── SupportRating.java
│ │ │ │ ├── TransportationRating.java
│ │ │ │ └── UnitRatingMethod.java
│ │ │ ├── campaignOptions/
│ │ │ │ ├── AcquisitionsType.java
│ │ │ │ ├── BoardScalingType.java
│ │ │ │ ├── CampaignOptions.java
│ │ │ │ ├── CampaignOptionsFreebieTracker.java
│ │ │ │ ├── CampaignOptionsMarshaller.java
│ │ │ │ └── CampaignOptionsUnmarshaller.java
│ │ │ ├── enums/
│ │ │ │ ├── CampaignTransportType.java
│ │ │ │ ├── DailyReportType.java
│ │ │ │ ├── DragoonRating.java
│ │ │ │ └── PlanetaryAcquisitionFactionLimit.java
│ │ │ ├── events/
│ │ │ │ ├── AcquisitionEvent.java
│ │ │ │ ├── AsTechPoolChangedEvent.java
│ │ │ │ ├── BattleArmorPoolChangedEvent.java
│ │ │ │ ├── CampaignEvent.java
│ │ │ │ ├── DayEndingEvent.java
│ │ │ │ ├── DeploymentChangedEvent.java
│ │ │ │ ├── GMModeEvent.java
│ │ │ │ ├── LocationChangedEvent.java
│ │ │ │ ├── MarketNewPersonnelEvent.java
│ │ │ │ ├── MedicPoolChangedEvent.java
│ │ │ │ ├── NetworkChangedEvent.java
│ │ │ │ ├── NewDayEvent.java
│ │ │ │ ├── OptionsChangedEvent.java
│ │ │ │ ├── OrganizationChangedEvent.java
│ │ │ │ ├── OvertimeModeEvent.java
│ │ │ │ ├── ProcurementEvent.java
│ │ │ │ ├── RepairStatusChangedEvent.java
│ │ │ │ ├── ReportEvent.java
│ │ │ │ ├── SoldierPoolChangedEvent.java
│ │ │ │ ├── StratConDeploymentEvent.java
│ │ │ │ ├── TransitCompleteEvent.java
│ │ │ │ ├── VehicleCrewGroundPoolChangedEvent.java
│ │ │ │ ├── VehicleCrewNavalPoolChangedEvent.java
│ │ │ │ ├── VehicleCrewVTOLPoolChangedEvent.java
│ │ │ │ ├── VesselCrewPoolChangedEvent.java
│ │ │ │ ├── VesselGunnerPoolChangedEvent.java
│ │ │ │ ├── VesselPilotPoolChangedEvent.java
│ │ │ │ ├── assets/
│ │ │ │ │ ├── AssetChangedEvent.java
│ │ │ │ │ ├── AssetEvent.java
│ │ │ │ │ ├── AssetNewEvent.java
│ │ │ │ │ └── AssetRemovedEvent.java
│ │ │ │ ├── loans/
│ │ │ │ │ ├── LoanDefaultedEvent.java
│ │ │ │ │ ├── LoanEvent.java
│ │ │ │ │ ├── LoanNewEvent.java
│ │ │ │ │ ├── LoanPaidEvent.java
│ │ │ │ │ └── LoanRemovedEvent.java
│ │ │ │ ├── missions/
│ │ │ │ │ ├── MissionChangedEvent.java
│ │ │ │ │ ├── MissionCompletedEvent.java
│ │ │ │ │ ├── MissionEvent.java
│ │ │ │ │ ├── MissionNewEvent.java
│ │ │ │ │ └── MissionRemovedEvent.java
│ │ │ │ ├── parts/
│ │ │ │ │ ├── PartArrivedEvent.java
│ │ │ │ │ ├── PartAssignmentEvent.java
│ │ │ │ │ ├── PartChangedEvent.java
│ │ │ │ │ ├── PartEvent.java
│ │ │ │ │ ├── PartModeChangedEvent.java
│ │ │ │ │ ├── PartNewEvent.java
│ │ │ │ │ ├── PartRemovedEvent.java
│ │ │ │ │ └── PartWorkEvent.java
│ │ │ │ ├── persons/
│ │ │ │ │ ├── PersonBattleFinishedEvent.java
│ │ │ │ │ ├── PersonChangedEvent.java
│ │ │ │ │ ├── PersonCrewAssignmentEvent.java
│ │ │ │ │ ├── PersonEvent.java
│ │ │ │ │ ├── PersonForceAssignmentEvent.java
│ │ │ │ │ ├── PersonLogEvent.java
│ │ │ │ │ ├── PersonMedicalAssignmentEvent.java
│ │ │ │ │ ├── PersonNewEvent.java
│ │ │ │ │ ├── PersonRemovedEvent.java
│ │ │ │ │ ├── PersonStatusChangedEvent.java
│ │ │ │ │ └── PersonTechAssignmentEvent.java
│ │ │ │ ├── scenarios/
│ │ │ │ │ ├── ScenarioChangedEvent.java
│ │ │ │ │ ├── ScenarioEvent.java
│ │ │ │ │ ├── ScenarioNewEvent.java
│ │ │ │ │ ├── ScenarioRemovedEvent.java
│ │ │ │ │ └── ScenarioResolvedEvent.java
│ │ │ │ ├── transactions/
│ │ │ │ │ ├── TransactionChangedEvent.java
│ │ │ │ │ ├── TransactionCreditEvent.java
│ │ │ │ │ ├── TransactionDebitEvent.java
│ │ │ │ │ ├── TransactionEvent.java
│ │ │ │ │ └── TransactionVoidedEvent.java
│ │ │ │ └── units/
│ │ │ │ ├── UnitArrivedEvent.java
│ │ │ │ ├── UnitChangedEvent.java
│ │ │ │ ├── UnitEvent.java
│ │ │ │ ├── UnitNewEvent.java
│ │ │ │ ├── UnitRefitEvent.java
│ │ │ │ └── UnitRemovedEvent.java
│ │ │ ├── finances/
│ │ │ │ ├── Accountant.java
│ │ │ │ ├── Asset.java
│ │ │ │ ├── Currency.java
│ │ │ │ ├── CurrencyDataLookupWriter.java
│ │ │ │ ├── CurrencyManager.java
│ │ │ │ ├── Finances.java
│ │ │ │ ├── FinancialReport.java
│ │ │ │ ├── Loan.java
│ │ │ │ ├── Money.java
│ │ │ │ ├── Transaction.java
│ │ │ │ ├── XmlMoneyParser.java
│ │ │ │ ├── XmlMoneyWriter.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── FinancialTerm.java
│ │ │ │ │ ├── FinancialYearDuration.java
│ │ │ │ │ └── TransactionType.java
│ │ │ │ └── financialInstitutions/
│ │ │ │ ├── FinancialInstitution.java
│ │ │ │ └── FinancialInstitutions.java
│ │ │ ├── force/
│ │ │ │ ├── CombatTeam.java
│ │ │ │ ├── Formation.java
│ │ │ │ ├── FormationLevel.java
│ │ │ │ ├── FormationStub.java
│ │ │ │ ├── FormationType.java
│ │ │ │ └── UnitStub.java
│ │ │ ├── handler/
│ │ │ │ ├── PostScenarioDialogHandler.java
│ │ │ │ └── XPHandler.java
│ │ │ ├── icons/
│ │ │ │ ├── FormationPieceIcon.java
│ │ │ │ ├── LayeredFormationIcon.java
│ │ │ │ ├── StandardFormationIcon.java
│ │ │ │ ├── UnitIcon.java
│ │ │ │ └── enums/
│ │ │ │ ├── LayeredFormationIconLayer.java
│ │ │ │ └── OperationalStatus.java
│ │ │ ├── io/
│ │ │ │ ├── CampaignXmlParseException.java
│ │ │ │ └── CampaignXmlParser.java
│ │ │ ├── log/
│ │ │ │ ├── AssignmentLogEntry.java
│ │ │ │ ├── AssignmentLogger.java
│ │ │ │ ├── AwardLogEntry.java
│ │ │ │ ├── AwardLogger.java
│ │ │ │ ├── CustomLogEntry.java
│ │ │ │ ├── HistoricalLogEntry.java
│ │ │ │ ├── LogEntry.java
│ │ │ │ ├── LogEntryFactory.java
│ │ │ │ ├── LogEntryType.java
│ │ │ │ ├── MedicalLogEntry.java
│ │ │ │ ├── MedicalLogger.java
│ │ │ │ ├── PatientLogEntry.java
│ │ │ │ ├── PatientLogger.java
│ │ │ │ ├── PerformanceLogEntry.java
│ │ │ │ ├── PerformanceLogger.java
│ │ │ │ ├── PersonalLogEntry.java
│ │ │ │ ├── PersonalLogger.java
│ │ │ │ ├── ServiceLogEntry.java
│ │ │ │ └── ServiceLogger.java
│ │ │ ├── market/
│ │ │ │ ├── PartsInUseManager.java
│ │ │ │ ├── PartsStore.java
│ │ │ │ ├── PersonnelMarket.java
│ │ │ │ ├── PersonnelMarketCampaignOps.java
│ │ │ │ ├── PersonnelMarketDisabled.java
│ │ │ │ ├── PersonnelMarketDylan.java
│ │ │ │ ├── PersonnelMarketFMMr.java
│ │ │ │ ├── PersonnelMarketRandom.java
│ │ │ │ ├── ShoppingList.java
│ │ │ │ ├── contractMarket/
│ │ │ │ │ ├── AbstractContractMarket.java
│ │ │ │ │ ├── AlternatePaymentModelValues.java
│ │ │ │ │ ├── AtbMonthlyContractMarket.java
│ │ │ │ │ ├── CamOpsContractMarket.java
│ │ │ │ │ ├── ContractAutomation.java
│ │ │ │ │ ├── ContractTerms.java
│ │ │ │ │ ├── ContractTypePicker.java
│ │ │ │ │ ├── DisabledContractMarket.java
│ │ │ │ │ └── MissionSelector.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── ContractMarketMethod.java
│ │ │ │ │ ├── UnitMarketMethod.java
│ │ │ │ │ ├── UnitMarketRarity.java
│ │ │ │ │ └── UnitMarketType.java
│ │ │ │ ├── personnelMarket/
│ │ │ │ │ ├── enums/
│ │ │ │ │ │ └── PersonnelMarketStyle.java
│ │ │ │ │ ├── markets/
│ │ │ │ │ │ ├── NewPersonnelMarket.java
│ │ │ │ │ │ ├── PersonnelMarketCamOpsRevised.java
│ │ │ │ │ │ ├── PersonnelMarketCamOpsStrict.java
│ │ │ │ │ │ └── PersonnelMarketMekHQ.java
│ │ │ │ │ ├── records/
│ │ │ │ │ │ └── PersonnelMarketEntry.java
│ │ │ │ │ └── yaml/
│ │ │ │ │ └── PersonnelMarketLibraries.java
│ │ │ │ ├── procurement/
│ │ │ │ │ └── Procurement.java
│ │ │ │ └── unitMarket/
│ │ │ │ ├── AbstractUnitMarket.java
│ │ │ │ ├── AtBMonthlyUnitMarket.java
│ │ │ │ ├── DisabledUnitMarket.java
│ │ │ │ └── UnitMarketOffer.java
│ │ │ ├── mission/
│ │ │ │ ├── AtBContract.java
│ │ │ │ ├── AtBDynamicScenario.java
│ │ │ │ ├── AtBDynamicScenarioFactory.java
│ │ │ │ ├── AtBScenario.java
│ │ │ │ ├── BotForce.java
│ │ │ │ ├── BotForceRandomizer.java
│ │ │ │ ├── BotForceStub.java
│ │ │ │ ├── CommonObjectiveFactory.java
│ │ │ │ ├── Contract.java
│ │ │ │ ├── ContractScore.java
│ │ │ │ ├── CrewSkillUpgrader.java
│ │ │ │ ├── IPlayerSettings.java
│ │ │ │ ├── Loot.java
│ │ │ │ ├── MHQMorale.java
│ │ │ │ ├── Mission.java
│ │ │ │ ├── ObjectiveEffect.java
│ │ │ │ ├── Scenario.java
│ │ │ │ ├── ScenarioDeploymentLimit.java
│ │ │ │ ├── ScenarioForceTemplate.java
│ │ │ │ ├── ScenarioMapParameters.java
│ │ │ │ ├── ScenarioObjective.java
│ │ │ │ ├── ScenarioObjectiveProcessor.java
│ │ │ │ ├── ScenarioTemplate.java
│ │ │ │ ├── TerrainConditionsOdds.java
│ │ │ │ ├── TerrainConditionsOddsManifest.java
│ │ │ │ ├── TransportCostCalculations.java
│ │ │ │ ├── atb/
│ │ │ │ │ ├── AtBScenarioEnabled.java
│ │ │ │ │ ├── AtBScenarioFactory.java
│ │ │ │ │ ├── AtBScenarioManifest.java
│ │ │ │ │ ├── AtBScenarioModifier.java
│ │ │ │ │ ├── AtBScenarioModifierApplicator.java
│ │ │ │ │ ├── IAtBScenario.java
│ │ │ │ │ ├── ScenarioModifierManifest.java
│ │ │ │ │ └── scenario/
│ │ │ │ │ ├── AceDuelBuiltInScenario.java
│ │ │ │ │ ├── AlliedTraitorsBuiltInScenario.java
│ │ │ │ │ ├── AllyRescueBuiltInScenario.java
│ │ │ │ │ ├── AmbushBuiltInScenario.java
│ │ │ │ │ ├── BaseAttackBuiltInScenario.java
│ │ │ │ │ ├── BreakthroughBuiltInScenario.java
│ │ │ │ │ ├── ChaseBuiltInScenario.java
│ │ │ │ │ ├── CivilianHelpBuiltInScenario.java
│ │ │ │ │ ├── CivilianRiotBuiltInScenario.java
│ │ │ │ │ ├── ConvoyAttackBuiltInScenario.java
│ │ │ │ │ ├── ConvoyRescueBuiltInScenario.java
│ │ │ │ │ ├── ExtractionBuiltInScenario.java
│ │ │ │ │ ├── HideAndSeekBuiltInScenario.java
│ │ │ │ │ ├── HoldTheLineBuiltInScenario.java
│ │ │ │ │ ├── OfficerDuelBuiltInScenario.java
│ │ │ │ │ ├── PirateFreeForAllBuiltInScenario.java
│ │ │ │ │ ├── PrisonBreakBuiltInScenario.java
│ │ │ │ │ ├── ProbeBuiltInScenario.java
│ │ │ │ │ ├── ReconRaidBuiltInScenario.java
│ │ │ │ │ ├── StandUpBuiltInScenario.java
│ │ │ │ │ ├── StarLeagueCache1BuiltInScenario.java
│ │ │ │ │ └── StarLeagueCache2BuiltInScenario.java
│ │ │ │ ├── camOpsSalvage/
│ │ │ │ │ ├── CamOpsSalvageUtilities.java
│ │ │ │ │ ├── RecoveryTimeCalculations.java
│ │ │ │ │ ├── RecoveryTimeData.java
│ │ │ │ │ ├── SalvageFormationData.java
│ │ │ │ │ └── SalvageTechData.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── AtBContractType.java
│ │ │ │ │ ├── AtBEventType.java
│ │ │ │ │ ├── AtBMoraleLevel.java
│ │ │ │ │ ├── CombatRole.java
│ │ │ │ │ ├── ContractCommandRights.java
│ │ │ │ │ ├── MissionStatus.java
│ │ │ │ │ ├── ScenarioStatus.java
│ │ │ │ │ └── ScenarioType.java
│ │ │ │ ├── rentals/
│ │ │ │ │ ├── ContractRentalType.java
│ │ │ │ │ └── FacilityRentals.java
│ │ │ │ ├── resupplyAndCaches/
│ │ │ │ │ ├── GenerateResupplyContents.java
│ │ │ │ │ ├── PerformResupply.java
│ │ │ │ │ ├── Resupply.java
│ │ │ │ │ ├── ResupplyUtilities.java
│ │ │ │ │ └── StarLeagueCache.java
│ │ │ │ └── utilities/
│ │ │ │ └── ContractUtilities.java
│ │ │ ├── parts/
│ │ │ │ ├── 0_warning/
│ │ │ │ │ └── warning.txt
│ │ │ │ ├── AeroHeatSink.java
│ │ │ │ ├── AeroLifeSupport.java
│ │ │ │ ├── AeroSensor.java
│ │ │ │ ├── AmmoStorage.java
│ │ │ │ ├── Armor.java
│ │ │ │ ├── Availability.java
│ │ │ │ ├── Avionics.java
│ │ │ │ ├── BAArmor.java
│ │ │ │ ├── BattleArmorSuit.java
│ │ │ │ ├── BayDoor.java
│ │ │ │ ├── BuildingLocation.java
│ │ │ │ ├── CombatInformationCenter.java
│ │ │ │ ├── Cubicle.java
│ │ │ │ ├── DropshipDockingCollar.java
│ │ │ │ ├── EnginePart.java
│ │ │ │ ├── FireControlSystem.java
│ │ │ │ ├── GravDeck.java
│ │ │ │ ├── InfantryAmmoStorage.java
│ │ │ │ ├── InfantryArmorPart.java
│ │ │ │ ├── InfantryMotiveType.java
│ │ │ │ ├── JumpshipDockingCollar.java
│ │ │ │ ├── LFBattery.java
│ │ │ │ ├── LandingGear.java
│ │ │ │ ├── MotiveSystem.java
│ │ │ │ ├── OmniPod.java
│ │ │ │ ├── Part.java
│ │ │ │ ├── PartInUse.java
│ │ │ │ ├── PartInventory.java
│ │ │ │ ├── PodSpace.java
│ │ │ │ ├── QuadVeeGear.java
│ │ │ │ ├── Refit.java
│ │ │ │ ├── Rotor.java
│ │ │ │ ├── SVArmor.java
│ │ │ │ ├── SVEnginePart.java
│ │ │ │ ├── SpacecraftCoolingSystem.java
│ │ │ │ ├── SpacecraftEngine.java
│ │ │ │ ├── StructuralIntegrity.java
│ │ │ │ ├── TankLocation.java
│ │ │ │ ├── Thrusters.java
│ │ │ │ ├── TransportBayPart.java
│ │ │ │ ├── Turret.java
│ │ │ │ ├── TurretLock.java
│ │ │ │ ├── VeeSensor.java
│ │ │ │ ├── VeeStabilizer.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── ATOWLegalityRating.java
│ │ │ │ │ ├── PartQuality.java
│ │ │ │ │ └── PartRepairType.java
│ │ │ │ ├── equipment/
│ │ │ │ │ ├── AmmoBin.java
│ │ │ │ │ ├── BattleArmorAmmoBin.java
│ │ │ │ │ ├── BattleArmorEquipmentPart.java
│ │ │ │ │ ├── EquipmentPart.java
│ │ │ │ │ ├── HeatSink.java
│ │ │ │ │ ├── InfantryAmmoBin.java
│ │ │ │ │ ├── InfantryWeaponPart.java
│ │ │ │ │ ├── JumpJet.java
│ │ │ │ │ ├── LargeCraftAmmoBin.java
│ │ │ │ │ ├── MASC.java
│ │ │ │ │ ├── MissingAmmoBin.java
│ │ │ │ │ ├── MissingBattleArmorEquipmentPart.java
│ │ │ │ │ ├── MissingEquipmentPart.java
│ │ │ │ │ ├── MissingHeatSink.java
│ │ │ │ │ ├── MissingInfantryAmmoBin.java
│ │ │ │ │ ├── MissingJumpJet.java
│ │ │ │ │ ├── MissingLargeCraftAmmoBin.java
│ │ │ │ │ └── MissingMASC.java
│ │ │ │ ├── kfs/
│ │ │ │ │ ├── KFBoom.java
│ │ │ │ │ ├── KFChargingSystem.java
│ │ │ │ │ ├── KFDriveCoil.java
│ │ │ │ │ ├── KFDriveController.java
│ │ │ │ │ ├── KFFieldInitiator.java
│ │ │ │ │ └── KFHeliumTank.java
│ │ │ │ ├── meks/
│ │ │ │ │ ├── MekActuator.java
│ │ │ │ │ ├── MekCockpit.java
│ │ │ │ │ ├── MekGyro.java
│ │ │ │ │ ├── MekLifeSupport.java
│ │ │ │ │ ├── MekLocation.java
│ │ │ │ │ └── MekSensor.java
│ │ │ │ ├── missing/
│ │ │ │ │ ├── MissingAeroHeatSink.java
│ │ │ │ │ ├── MissingAeroLifeSupport.java
│ │ │ │ │ ├── MissingAeroSensor.java
│ │ │ │ │ ├── MissingAvionics.java
│ │ │ │ │ ├── MissingBattleArmorSuit.java
│ │ │ │ │ ├── MissingBayDoor.java
│ │ │ │ │ ├── MissingCIC.java
│ │ │ │ │ ├── MissingCubicle.java
│ │ │ │ │ ├── MissingDropshipDockingCollar.java
│ │ │ │ │ ├── MissingEnginePart.java
│ │ │ │ │ ├── MissingFireControlSystem.java
│ │ │ │ │ ├── MissingGravDeck.java
│ │ │ │ │ ├── MissingInfantryArmorPart.java
│ │ │ │ │ ├── MissingInfantryMotiveType.java
│ │ │ │ │ ├── MissingJumpshipDockingCollar.java
│ │ │ │ │ ├── MissingKFBoom.java
│ │ │ │ │ ├── MissingKFChargingSystem.java
│ │ │ │ │ ├── MissingKFDriveCoil.java
│ │ │ │ │ ├── MissingKFDriveController.java
│ │ │ │ │ ├── MissingKFFieldInitiator.java
│ │ │ │ │ ├── MissingKFHeliumTank.java
│ │ │ │ │ ├── MissingLFBattery.java
│ │ │ │ │ ├── MissingLandingGear.java
│ │ │ │ │ ├── MissingMekActuator.java
│ │ │ │ │ ├── MissingMekCockpit.java
│ │ │ │ │ ├── MissingMekGyro.java
│ │ │ │ │ ├── MissingMekLifeSupport.java
│ │ │ │ │ ├── MissingMekLocation.java
│ │ │ │ │ ├── MissingMekSensor.java
│ │ │ │ │ ├── MissingOmniPod.java
│ │ │ │ │ ├── MissingPart.java
│ │ │ │ │ ├── MissingProtoMekArmActuator.java
│ │ │ │ │ ├── MissingProtoMekJumpJet.java
│ │ │ │ │ ├── MissingProtoMekLegActuator.java
│ │ │ │ │ ├── MissingProtoMekLocation.java
│ │ │ │ │ ├── MissingProtoMekSensor.java
│ │ │ │ │ ├── MissingQuadVeeGear.java
│ │ │ │ │ ├── MissingRotor.java
│ │ │ │ │ ├── MissingSVEngine.java
│ │ │ │ │ ├── MissingSpacecraftEngine.java
│ │ │ │ │ ├── MissingThrusters.java
│ │ │ │ │ ├── MissingTurret.java
│ │ │ │ │ ├── MissingVeeSensor.java
│ │ │ │ │ └── MissingVeeStabilizer.java
│ │ │ │ ├── protomeks/
│ │ │ │ │ ├── ProtoMekArmActuator.java
│ │ │ │ │ ├── ProtoMekArmor.java
│ │ │ │ │ ├── ProtoMekJumpJet.java
│ │ │ │ │ ├── ProtoMekLegActuator.java
│ │ │ │ │ ├── ProtoMekLocation.java
│ │ │ │ │ └── ProtoMekSensor.java
│ │ │ │ └── utilities/
│ │ │ │ └── BattleArmorSuitUtility.java
│ │ │ ├── personnel/
│ │ │ │ ├── Award.java
│ │ │ │ ├── AwardsFactory.java
│ │ │ │ ├── Bloodmark.java
│ │ │ │ ├── Bloodname.java
│ │ │ │ ├── Clan.java
│ │ │ │ ├── CustomOption.java
│ │ │ │ ├── DiscretionarySpending.java
│ │ │ │ ├── Fraction.java
│ │ │ │ ├── Injury.java
│ │ │ │ ├── InjuryType.java
│ │ │ │ ├── Modifier.java
│ │ │ │ ├── NameAcquired.java
│ │ │ │ ├── Person.java
│ │ │ │ ├── PersonAwardController.java
│ │ │ │ ├── PersonUtility.java
│ │ │ │ ├── PersonnelOptions.java
│ │ │ │ ├── PronounData.java
│ │ │ │ ├── RandomDependents.java
│ │ │ │ ├── SkillPrerequisite.java
│ │ │ │ ├── SpecialAbility.java
│ │ │ │ ├── advancedCharacterBuilder/
│ │ │ │ │ ├── ATOWLifeStage.java
│ │ │ │ │ ├── LifePathCategory.java
│ │ │ │ │ ├── LifePathDataClassLookup.java
│ │ │ │ │ ├── LifePathEntryData.java
│ │ │ │ │ ├── LifePathEntryDataTraitLookup.java
│ │ │ │ │ └── LifePathRecord.java
│ │ │ │ ├── autoAwards/
│ │ │ │ │ ├── AutoAwardsController.java
│ │ │ │ │ ├── ContractAwards.java
│ │ │ │ │ ├── FactionHunterAwards.java
│ │ │ │ │ ├── InjuryAwards.java
│ │ │ │ │ ├── KillAwards.java
│ │ │ │ │ ├── MiscAwards.java
│ │ │ │ │ ├── RankAwards.java
│ │ │ │ │ ├── ScenarioAwards.java
│ │ │ │ │ ├── ScenarioKillAwards.java
│ │ │ │ │ ├── SkillAwards.java
│ │ │ │ │ ├── TheatreOfWarAwards.java
│ │ │ │ │ ├── TimeAwards.java
│ │ │ │ │ └── TrainingAwards.java
│ │ │ │ ├── backgrounds/
│ │ │ │ │ ├── BackgroundsController.java
│ │ │ │ │ ├── RandomCompanyNameGenerator.java
│ │ │ │ │ └── Toughness.java
│ │ │ │ ├── death/
│ │ │ │ │ └── RandomDeath.java
│ │ │ │ ├── divorce/
│ │ │ │ │ ├── AbstractDivorce.java
│ │ │ │ │ ├── DisabledRandomDivorce.java
│ │ │ │ │ └── RandomDivorce.java
│ │ │ │ ├── education/
│ │ │ │ │ ├── Academy.java
│ │ │ │ │ ├── AcademyFactory.java
│ │ │ │ │ ├── AcademySet.java
│ │ │ │ │ ├── EducationController.java
│ │ │ │ │ └── TrainingCombatTeams.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── AgeGroup.java
│ │ │ │ │ ├── AwardBonus.java
│ │ │ │ │ ├── BabySurnameStyle.java
│ │ │ │ │ ├── BloodGroup.java
│ │ │ │ │ ├── BloodmarkLevel.java
│ │ │ │ │ ├── ConnectionsLevel.java
│ │ │ │ │ ├── ExtraIncome.java
│ │ │ │ │ ├── FamilialConnectionType.java
│ │ │ │ │ ├── FamilialRelationshipDisplayLevel.java
│ │ │ │ │ ├── FamilialRelationshipType.java
│ │ │ │ │ ├── ForceReliabilityMethod.java
│ │ │ │ │ ├── FormerSpouseReason.java
│ │ │ │ │ ├── GenderDescriptors.java
│ │ │ │ │ ├── InjuryHiding.java
│ │ │ │ │ ├── InjuryLevel.java
│ │ │ │ │ ├── LeadershipMethod.java
│ │ │ │ │ ├── ManeiDominiClass.java
│ │ │ │ │ ├── ManeiDominiRank.java
│ │ │ │ │ ├── MergingSurnameStyle.java
│ │ │ │ │ ├── ModifierValue.java
│ │ │ │ │ ├── MutinyMethod.java
│ │ │ │ │ ├── PersonnelRole.java
│ │ │ │ │ ├── PersonnelRoleSubType.java
│ │ │ │ │ ├── PersonnelStatus.java
│ │ │ │ │ ├── Phenotype.java
│ │ │ │ │ ├── Profession.java
│ │ │ │ │ ├── ROMDesignation.java
│ │ │ │ │ ├── RandomDivorceMethod.java
│ │ │ │ │ ├── RandomMarriageMethod.java
│ │ │ │ │ ├── RandomProcreationMethod.java
│ │ │ │ │ ├── RankSystemType.java
│ │ │ │ │ ├── SplittingSurnameStyle.java
│ │ │ │ │ ├── TenYearAgeRange.java
│ │ │ │ │ ├── TimeInDisplayFormat.java
│ │ │ │ │ ├── TurnoverFrequency.java
│ │ │ │ │ └── education/
│ │ │ │ │ ├── AcademyType.java
│ │ │ │ │ ├── EducationLevel.java
│ │ │ │ │ └── EducationStage.java
│ │ │ │ ├── familyTree/
│ │ │ │ │ ├── FormerSpouse.java
│ │ │ │ │ └── Genealogy.java
│ │ │ │ ├── generator/
│ │ │ │ │ ├── AbstractPersonnelGenerator.java
│ │ │ │ │ ├── AbstractSkillGenerator.java
│ │ │ │ │ ├── AbstractSpecialAbilityGenerator.java
│ │ │ │ │ ├── DefaultPersonnelGenerator.java
│ │ │ │ │ ├── DefaultSkillGenerator.java
│ │ │ │ │ ├── DefaultSpecialAbilityGenerator.java
│ │ │ │ │ ├── RandomPortraitGenerator.java
│ │ │ │ │ └── SingleSpecialAbilityGenerator.java
│ │ │ │ ├── lifeEvents/
│ │ │ │ │ ├── BirthAnnouncement.java
│ │ │ │ │ ├── ComingOfAgeAnnouncement.java
│ │ │ │ │ ├── CommandersDayAnnouncement.java
│ │ │ │ │ ├── FreedomDayAnnouncement.java
│ │ │ │ │ ├── NewYearsDayAnnouncement.java
│ │ │ │ │ └── WinterHolidayAnnouncement.java
│ │ │ │ ├── marriage/
│ │ │ │ │ ├── AbstractMarriage.java
│ │ │ │ │ ├── DisabledRandomMarriage.java
│ │ │ │ │ └── RandomMarriage.java
│ │ │ │ ├── medical/
│ │ │ │ │ ├── BodyLocation.java
│ │ │ │ │ ├── InjurySPAUtility.java
│ │ │ │ │ ├── MASHCapacity.java
│ │ │ │ │ ├── MedicalController.java
│ │ │ │ │ ├── advancedMedical/
│ │ │ │ │ │ ├── HitLocationGen.java
│ │ │ │ │ │ ├── InjuryTypes.java
│ │ │ │ │ │ └── InjuryUtil.java
│ │ │ │ │ └── advancedMedicalAlternate/
│ │ │ │ │ ├── AdvancedMedicalAlternate.java
│ │ │ │ │ ├── AdvancedMedicalAlternateHealing.java
│ │ │ │ │ ├── AdvancedMedicalAlternateImplants.java
│ │ │ │ │ ├── AlternateInjuries.java
│ │ │ │ │ ├── CanonicalDiseaseType.java
│ │ │ │ │ ├── DiseaseService.java
│ │ │ │ │ ├── DiseaseType.java
│ │ │ │ │ ├── HealingMarginOfSuccessEffects.java
│ │ │ │ │ ├── InjuryEffect.java
│ │ │ │ │ ├── InjuryLocationData.java
│ │ │ │ │ ├── InjuryLocationService.java
│ │ │ │ │ ├── InjurySubType.java
│ │ │ │ │ ├── Inoculations.java
│ │ │ │ │ ├── ProstheticComplexity.java
│ │ │ │ │ └── ProstheticType.java
│ │ │ │ ├── procreation/
│ │ │ │ │ ├── AbstractProcreation.java
│ │ │ │ │ ├── DisabledRandomProcreation.java
│ │ │ │ │ └── RandomProcreation.java
│ │ │ │ ├── ranks/
│ │ │ │ │ ├── Rank.java
│ │ │ │ │ ├── RankSystem.java
│ │ │ │ │ ├── RankValidator.java
│ │ │ │ │ └── Ranks.java
│ │ │ │ ├── skills/
│ │ │ │ │ ├── Aging.java
│ │ │ │ │ ├── Appraisal.java
│ │ │ │ │ ├── AttributeCheckUtility.java
│ │ │ │ │ ├── Attributes.java
│ │ │ │ │ ├── EscapeSkills.java
│ │ │ │ │ ├── InfantryGunnerySkills.java
│ │ │ │ │ ├── QuickTrain.java
│ │ │ │ │ ├── RandomSkillPreferences.java
│ │ │ │ │ ├── ScoutingSkills.java
│ │ │ │ │ ├── Skill.java
│ │ │ │ │ ├── SkillCheckUtility.java
│ │ │ │ │ ├── SkillDeprecationTool.java
│ │ │ │ │ ├── SkillModifierData.java
│ │ │ │ │ ├── SkillType.java
│ │ │ │ │ ├── Skills.java
│ │ │ │ │ ├── VehicleCrewSkills.java
│ │ │ │ │ └── enums/
│ │ │ │ │ ├── AgingMilestone.java
│ │ │ │ │ ├── MarginOfSuccess.java
│ │ │ │ │ ├── SkillAttribute.java
│ │ │ │ │ └── SkillSubType.java
│ │ │ │ └── turnoverAndRetention/
│ │ │ │ ├── Fatigue.java
│ │ │ │ └── RetirementDefectionTracker.java
│ │ │ ├── randomEvents/
│ │ │ │ ├── GrayMonday.java
│ │ │ │ ├── MercenaryAuction.java
│ │ │ │ ├── RandomEventLibraries.java
│ │ │ │ ├── RiotScenario.java
│ │ │ │ ├── RoninOffer.java
│ │ │ │ ├── VoiceOfKerensky.java
│ │ │ │ ├── personalities/
│ │ │ │ │ ├── PersonalityController.java
│ │ │ │ │ └── enums/
│ │ │ │ │ ├── Aggression.java
│ │ │ │ │ ├── Ambition.java
│ │ │ │ │ ├── Greed.java
│ │ │ │ │ ├── PersonalityQuirk.java
│ │ │ │ │ ├── PersonalityTraitType.java
│ │ │ │ │ ├── Reasoning.java
│ │ │ │ │ └── Social.java
│ │ │ │ └── prisoners/
│ │ │ │ ├── CapturePrisoners.java
│ │ │ │ ├── EventEffectsManager.java
│ │ │ │ ├── NonCombatPrisoners.java
│ │ │ │ ├── PrisonEscapeScenario.java
│ │ │ │ ├── PrisonerEventManager.java
│ │ │ │ ├── PrisonerMissionEndEvent.java
│ │ │ │ ├── PrisonerRansomEvent.java
│ │ │ │ ├── RecoverMIAPersonnel.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── EventResultEffect.java
│ │ │ │ │ ├── MobType.java
│ │ │ │ │ ├── PrisonerCaptureStyle.java
│ │ │ │ │ ├── PrisonerEvent.java
│ │ │ │ │ ├── PrisonerStatus.java
│ │ │ │ │ └── ResponseQuality.java
│ │ │ │ ├── records/
│ │ │ │ │ ├── EventResult.java
│ │ │ │ │ ├── PrisonerEventData.java
│ │ │ │ │ └── PrisonerResponseEntry.java
│ │ │ │ └── yaml/
│ │ │ │ └── PrisonerEventDataWrapper.java
│ │ │ ├── report/
│ │ │ │ ├── AbstractReport.java
│ │ │ │ ├── CargoReport.java
│ │ │ │ ├── HangarReport.java
│ │ │ │ ├── PersonnelReport.java
│ │ │ │ └── TransportReport.java
│ │ │ ├── storyArc/
│ │ │ │ ├── Personality.java
│ │ │ │ ├── StoryArc.java
│ │ │ │ ├── StoryArcStub.java
│ │ │ │ ├── StoryOutcome.java
│ │ │ │ ├── StoryPoint.java
│ │ │ │ ├── StoryPortrait.java
│ │ │ │ ├── StorySplash.java
│ │ │ │ ├── StoryTrigger.java
│ │ │ │ ├── enums/
│ │ │ │ │ └── StoryLoadingType.java
│ │ │ │ ├── storypoint/
│ │ │ │ │ ├── CheckDateReachedStoryPoint.java
│ │ │ │ │ ├── CheckMoreScenariosStoryPoint.java
│ │ │ │ │ ├── CheckPersonStatusStoryPoint.java
│ │ │ │ │ ├── CheckStringVariableStoryPoint.java
│ │ │ │ │ ├── ChoiceStoryPoint.java
│ │ │ │ │ ├── CreateCharacterStoryPoint.java
│ │ │ │ │ ├── DialogStoryPoint.java
│ │ │ │ │ ├── MissionStoryPoint.java
│ │ │ │ │ ├── NarrativeStoryPoint.java
│ │ │ │ │ ├── PersonStatusStoryPoint.java
│ │ │ │ │ ├── RollDiceStoryPoint.java
│ │ │ │ │ ├── ScenarioStoryPoint.java
│ │ │ │ │ ├── TravelStoryPoint.java
│ │ │ │ │ └── WaitStoryPoint.java
│ │ │ │ └── storytrigger/
│ │ │ │ ├── AddPersonStoryTrigger.java
│ │ │ │ ├── AddUnitStoryTrigger.java
│ │ │ │ ├── AdvanceTimeStoryTrigger.java
│ │ │ │ ├── ChangePersonStoryTrigger.java
│ │ │ │ ├── ChangeStringVariableStoryTrigger.java
│ │ │ │ ├── CompleteMissionStoryTrigger.java
│ │ │ │ ├── EndArcStoryTrigger.java
│ │ │ │ ├── GameOverStoryTrigger.java
│ │ │ │ ├── RemoveUnitStoryTrigger.java
│ │ │ │ ├── SetDateStoryTrigger.java
│ │ │ │ └── SwitchTabStoryTrigger.java
│ │ │ ├── stratCon/
│ │ │ │ ├── IStratConDisplayable.java
│ │ │ │ ├── MaplessStratCon.java
│ │ │ │ ├── ScoutRecord.java
│ │ │ │ ├── StratConBiome.java
│ │ │ │ ├── StratConBiomeManifest.java
│ │ │ │ ├── StratConCampaignState.java
│ │ │ │ ├── StratConContractDefinition.java
│ │ │ │ ├── StratConContractInitializer.java
│ │ │ │ ├── StratConCoords.java
│ │ │ │ ├── StratConFacility.java
│ │ │ │ ├── StratConFacilityFactory.java
│ │ │ │ ├── StratConFacilityManifest.java
│ │ │ │ ├── StratConPlayType.java
│ │ │ │ ├── StratConRulesManager.java
│ │ │ │ ├── StratConScenario.java
│ │ │ │ ├── StratConScenarioFactory.java
│ │ │ │ ├── StratConStrategicObjective.java
│ │ │ │ ├── StratConTerrainPlacer.java
│ │ │ │ ├── StratConTerrainTile.java
│ │ │ │ ├── StratConTrackState.java
│ │ │ │ └── SupportPointNegotiation.java
│ │ │ ├── unit/
│ │ │ │ ├── AbstractTransportedUnitsSummary.java
│ │ │ │ ├── CargoStatistics.java
│ │ │ │ ├── CrewType.java
│ │ │ │ ├── HangarSorter.java
│ │ │ │ ├── HangarStatistics.java
│ │ │ │ ├── ITransportAssignment.java
│ │ │ │ ├── ITransportedUnitsSummary.java
│ │ │ │ ├── Maintenance.java
│ │ │ │ ├── MothballInfo.java
│ │ │ │ ├── ShipTransportedUnitsSummary.java
│ │ │ │ ├── TacticalTransportedUnitsSummary.java
│ │ │ │ ├── TestUnit.java
│ │ │ │ ├── TowTransportedUnitsSummary.java
│ │ │ │ ├── TransportAssignment.java
│ │ │ │ ├── TransportShipAssignment.java
│ │ │ │ ├── Unit.java
│ │ │ │ ├── UnitOrder.java
│ │ │ │ ├── UnitTechProgression.java
│ │ │ │ ├── actions/
│ │ │ │ │ ├── ActivateUnitAction.java
│ │ │ │ │ ├── AdjustLargeCraftAmmoAction.java
│ │ │ │ │ ├── CancelMothballUnitAction.java
│ │ │ │ │ ├── HirePersonnelUnitAction.java
│ │ │ │ │ ├── IUnitAction.java
│ │ │ │ │ ├── MothballUnitAction.java
│ │ │ │ │ ├── RestoreUnitAction.java
│ │ │ │ │ ├── StripUnitAction.java
│ │ │ │ │ └── SwapAmmoTypeAction.java
│ │ │ │ ├── cleanup/
│ │ │ │ │ ├── ApproximateMatchStep.java
│ │ │ │ │ ├── BattleArmorEquipmentProposal.java
│ │ │ │ │ ├── BattleArmorEquipmentUnscrambler.java
│ │ │ │ │ ├── DefaultEquipmentUnscrambler.java
│ │ │ │ │ ├── EquipmentProposal.java
│ │ │ │ │ ├── EquipmentProposalReport.java
│ │ │ │ │ ├── EquipmentUnscrambler.java
│ │ │ │ │ ├── EquipmentUnscramblerResult.java
│ │ │ │ │ ├── ExactMatchStep.java
│ │ │ │ │ ├── MovedAmmoBinStep.java
│ │ │ │ │ ├── MovedEquipmentStep.java
│ │ │ │ │ └── UnscrambleStep.java
│ │ │ │ └── enums/
│ │ │ │ ├── CrewAssignmentState.java
│ │ │ │ └── TransporterType.java
│ │ │ ├── universe/
│ │ │ │ ├── AbstractUnitGenerator.java
│ │ │ │ ├── Atmosphere.java
│ │ │ │ ├── Faction.java
│ │ │ │ ├── FactionBorderTracker.java
│ │ │ │ ├── FactionBorders.java
│ │ │ │ ├── Factions.java
│ │ │ │ ├── HPGLink.java
│ │ │ │ ├── IUnitGenerator.java
│ │ │ │ ├── LandMass.java
│ │ │ │ ├── LifeForm.java
│ │ │ │ ├── News.java
│ │ │ │ ├── NewsItem.java
│ │ │ │ ├── Planet.java
│ │ │ │ ├── PlanetarySystem.java
│ │ │ │ ├── RATGeneratorConnector.java
│ │ │ │ ├── RandomFactionGenerator.java
│ │ │ │ ├── RegionPerimeter.java
│ │ │ │ ├── Satellite.java
│ │ │ │ ├── SocioIndustrialData.java
│ │ │ │ ├── SourceableValue.java
│ │ │ │ ├── StarType.java
│ │ │ │ ├── StarUtil.java
│ │ │ │ ├── Systems.java
│ │ │ │ ├── UnitGeneratorParameters.java
│ │ │ │ ├── companyGeneration/
│ │ │ │ │ ├── AtBRandomMekParameters.java
│ │ │ │ │ ├── CompanyGenerationOptions.java
│ │ │ │ │ └── CompanyGenerationPersonTracker.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── Alphabet.java
│ │ │ │ │ ├── BattleMekFactionGenerationMethod.java
│ │ │ │ │ ├── BattleMekQualityGenerationMethod.java
│ │ │ │ │ ├── BattleMekWeightClassGenerationMethod.java
│ │ │ │ │ ├── CompanyGenerationMethod.java
│ │ │ │ │ ├── CompanyGenerationPersonType.java
│ │ │ │ │ ├── ForceNamingMethod.java
│ │ │ │ │ ├── HPGRating.java
│ │ │ │ │ ├── HiringHallLevel.java
│ │ │ │ │ ├── MysteryBoxType.java
│ │ │ │ │ ├── PartGenerationMethod.java
│ │ │ │ │ └── PlanetaryType.java
│ │ │ │ ├── eras/
│ │ │ │ │ ├── Era.java
│ │ │ │ │ └── Eras.java
│ │ │ │ ├── factionHints/
│ │ │ │ │ ├── AltLocation.java
│ │ │ │ │ ├── DiplomacyLabel.java
│ │ │ │ │ ├── DiplomacyType.java
│ │ │ │ │ ├── FactionHint.java
│ │ │ │ │ ├── FactionHints.java
│ │ │ │ │ └── WarAndPeaceProcessor.java
│ │ │ │ ├── factionStanding/
│ │ │ │ │ ├── AccoladeEntry.java
│ │ │ │ │ ├── BatchallFactions.java
│ │ │ │ │ ├── CensureEntry.java
│ │ │ │ │ ├── FactionAccoladeEvent.java
│ │ │ │ │ ├── FactionAccoladeLevel.java
│ │ │ │ │ ├── FactionCensureAction.java
│ │ │ │ │ ├── FactionCensureEvent.java
│ │ │ │ │ ├── FactionCensureLevel.java
│ │ │ │ │ ├── FactionJudgment.java
│ │ │ │ │ ├── FactionJudgmentSceneType.java
│ │ │ │ │ ├── FactionStandingAgitatorData.java
│ │ │ │ │ ├── FactionStandingJudgmentType.java
│ │ │ │ │ ├── FactionStandingLevel.java
│ │ │ │ │ ├── FactionStandingUltimatum.java
│ │ │ │ │ ├── FactionStandingUltimatumData.java
│ │ │ │ │ ├── FactionStandingUltimatumsLibrary.java
│ │ │ │ │ ├── FactionStandingUltimatumsWrapper.java
│ │ │ │ │ ├── FactionStandingUtilities.java
│ │ │ │ │ ├── FactionStandings.java
│ │ │ │ │ ├── GoingRogue.java
│ │ │ │ │ ├── MercenaryRelations.java
│ │ │ │ │ └── PerformBatchall.java
│ │ │ │ ├── fameAndInfamy/
│ │ │ │ │ └── FameAndInfamyController.java
│ │ │ │ ├── generators/
│ │ │ │ │ ├── battleMekQualityGenerators/
│ │ │ │ │ │ ├── ABattleMekQualityGenerator.java
│ │ │ │ │ │ ├── AStarBattleMekQualityGenerator.java
│ │ │ │ │ │ ├── AbstractBattleMekQualityGenerator.java
│ │ │ │ │ │ ├── AtBBattleMekQualityGenerator.java
│ │ │ │ │ │ ├── BBattleMekQualityGenerator.java
│ │ │ │ │ │ ├── CBattleMekQualityGenerator.java
│ │ │ │ │ │ ├── DBattleMekQualityGenerator.java
│ │ │ │ │ │ ├── FBattleMekQualityGenerator.java
│ │ │ │ │ │ └── WindchildBattleMekQualityGenerator.java
│ │ │ │ │ ├── battleMekWeightClassGenerators/
│ │ │ │ │ │ ├── AbstractBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── AssaultBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── AtBBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── HeavyBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── LightBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── MediumBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── WindchildAssaultBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── WindchildBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── WindchildHeavyBattleMekWeightClassGenerator.java
│ │ │ │ │ │ ├── WindchildLightBattleMekWeightClassGenerator.java
│ │ │ │ │ │ └── WindchildMediumBattleMekWeightClassGenerator.java
│ │ │ │ │ ├── companyGenerators/
│ │ │ │ │ │ ├── AbstractCompanyGenerator.java
│ │ │ │ │ │ ├── AtBCompanyGenerator.java
│ │ │ │ │ │ └── WindchildCompanyGenerator.java
│ │ │ │ │ └── partGenerators/
│ │ │ │ │ ├── AbstractPartGenerator.java
│ │ │ │ │ ├── MishraPartGenerator.java
│ │ │ │ │ ├── MultiplePartGenerator.java
│ │ │ │ │ └── WindchildPartGenerator.java
│ │ │ │ └── selectors/
│ │ │ │ ├── factionSelectors/
│ │ │ │ │ ├── AbstractFactionSelector.java
│ │ │ │ │ ├── DefaultFactionSelector.java
│ │ │ │ │ └── RangedFactionSelector.java
│ │ │ │ └── planetSelectors/
│ │ │ │ ├── AbstractPlanetSelector.java
│ │ │ │ ├── DefaultPlanetSelector.java
│ │ │ │ └── RangedPlanetSelector.java
│ │ │ ├── utilities/
│ │ │ │ ├── AutomatedPersonnelCleanUp.java
│ │ │ │ ├── AutomatedTechAssignments.java
│ │ │ │ ├── CampaignTransportUtilities.java
│ │ │ │ ├── EasyBugReport.java
│ │ │ │ ├── JumpBlockers.java
│ │ │ │ └── glossary/
│ │ │ │ ├── DocumentationEntry.java
│ │ │ │ └── GlossaryEntry.java
│ │ │ └── work/
│ │ │ ├── IAcquisitionWork.java
│ │ │ ├── IPartWork.java
│ │ │ ├── IWork.java
│ │ │ ├── RefitType.java
│ │ │ └── WorkTime.java
│ │ ├── gui/
│ │ │ ├── ActionScheduler.java
│ │ │ ├── BasicInfo.java
│ │ │ ├── BriefingTab.java
│ │ │ ├── CampaignGUI.java
│ │ │ ├── CampaignGuiTab.java
│ │ │ ├── CommandCenterTab.java
│ │ │ ├── DailyReportLogPanel.java
│ │ │ ├── FactionComboBox.java
│ │ │ ├── FileDialogs.java
│ │ │ ├── FinancesTab.java
│ │ │ ├── ForceRenderer.java
│ │ │ ├── GUI.java
│ │ │ ├── HangarTab.java
│ │ │ ├── ITechWorkPanel.java
│ │ │ ├── InfirmaryTab.java
│ │ │ ├── InnerStellarMapConfig.java
│ │ │ ├── InterstellarMapPanel.java
│ │ │ ├── MapTab.java
│ │ │ ├── MekLabTab.java
│ │ │ ├── PersonnelTab.java
│ │ │ ├── PlanetEditorGUI.java
│ │ │ ├── PlanetarySystemMapPanel.java
│ │ │ ├── RepairTab.java
│ │ │ ├── RepairTaskInfo.java
│ │ │ ├── ReportHyperlinkListener.java
│ │ │ ├── StratConPanel.java
│ │ │ ├── StratConTab.java
│ │ │ ├── TOETab.java
│ │ │ ├── WarehouseTab.java
│ │ │ ├── adapter/
│ │ │ │ ├── FinanceTableMouseAdapter.java
│ │ │ │ ├── JPopupMenuAdapter.java
│ │ │ │ ├── LoanTableMouseAdapter.java
│ │ │ │ ├── PartsTableMouseAdapter.java
│ │ │ │ ├── PersonnelTableMouseAdapter.java
│ │ │ │ ├── ProcurementTableMouseAdapter.java
│ │ │ │ ├── ScenarioTableMouseAdapter.java
│ │ │ │ ├── ServicedUnitsTableMouseAdapter.java
│ │ │ │ ├── TOEMouseAdapter.java
│ │ │ │ ├── TaskTableMouseAdapter.java
│ │ │ │ └── UnitTableMouseAdapter.java
│ │ │ ├── baseComponents/
│ │ │ │ ├── AbstractMHQButtonDialog.java
│ │ │ │ ├── AbstractMHQDialogBasic.java
│ │ │ │ ├── AbstractMHQPanel.java
│ │ │ │ ├── AbstractMHQScrollPane.java
│ │ │ │ ├── AbstractMHQScrollablePanel.java
│ │ │ │ ├── AbstractMHQSplitPane.java
│ │ │ │ ├── AbstractMHQTabbedPane.java
│ │ │ │ ├── AbstractMHQValidationButtonDialog.java
│ │ │ │ ├── DefaultMHQScrollablePanel.java
│ │ │ │ ├── JScrollableMenu.java
│ │ │ │ ├── JScrollablePanel.java
│ │ │ │ ├── JScrollablePopupMenu.java
│ │ │ │ ├── SortedComboBoxModel.java
│ │ │ │ ├── SourceableValueLabel.java
│ │ │ │ ├── immersiveDialogs/
│ │ │ │ │ ├── ImmersiveDialogConfirmation.java
│ │ │ │ │ ├── ImmersiveDialogCore.java
│ │ │ │ │ ├── ImmersiveDialogNag.java
│ │ │ │ │ ├── ImmersiveDialogNotification.java
│ │ │ │ │ ├── ImmersiveDialogSimple.java
│ │ │ │ │ └── ImmersiveDialogWidth.java
│ │ │ │ └── roundedComponents/
│ │ │ │ ├── RoundedJButton.java
│ │ │ │ ├── RoundedLineBorder.java
│ │ │ │ └── RoundedMMToggleButton.java
│ │ │ ├── campaignOptions/
│ │ │ │ ├── CampaignOptionFlag.java
│ │ │ │ ├── CampaignOptionsAbilityInfo.java
│ │ │ │ ├── CampaignOptionsDialog.java
│ │ │ │ ├── CampaignOptionsMetadata.java
│ │ │ │ ├── CampaignOptionsPane.java
│ │ │ │ ├── CampaignOptionsPresetPicker.java
│ │ │ │ ├── CampaignOptionsUtilities.java
│ │ │ │ ├── CreateCampaignPreset.java
│ │ │ │ ├── components/
│ │ │ │ │ ├── CampaignOptionsButton.java
│ │ │ │ │ ├── CampaignOptionsCheckBox.java
│ │ │ │ │ ├── CampaignOptionsGridBagConstraints.java
│ │ │ │ │ ├── CampaignOptionsHeaderPanel.java
│ │ │ │ │ ├── CampaignOptionsLabel.java
│ │ │ │ │ ├── CampaignOptionsSpinner.java
│ │ │ │ │ ├── CampaignOptionsStandardPanel.java
│ │ │ │ │ └── CampaignOptionsTextField.java
│ │ │ │ ├── contents/
│ │ │ │ │ ├── AbilitiesTab.java
│ │ │ │ │ ├── AdvancementTab.java
│ │ │ │ │ ├── BiographyTab.java
│ │ │ │ │ ├── EquipmentAndSuppliesTab.java
│ │ │ │ │ ├── FinancesTab.java
│ │ │ │ │ ├── GeneralTab.java
│ │ │ │ │ ├── MarketsTab.java
│ │ │ │ │ ├── PersonnelTab.java
│ │ │ │ │ ├── RelationshipsTab.java
│ │ │ │ │ ├── RepairAndMaintenanceTab.java
│ │ │ │ │ ├── RulesetsTab.java
│ │ │ │ │ ├── SalariesTab.java
│ │ │ │ │ ├── SkillsTab.java
│ │ │ │ │ ├── SystemsTab.java
│ │ │ │ │ └── TurnoverAndRetentionTab.java
│ │ │ │ ├── enums/
│ │ │ │ │ └── ProcurementPersonnelPick.java
│ │ │ │ └── optionChangeDialogs/
│ │ │ │ ├── AdvancedScoutingCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── AltAdvancedMedicalCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── DiminishingReturnsCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── FactionStandingCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── FatigueTrackingCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── MASHTheaterTrackingCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── NormalizedContractPayCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── PrisonerTrackingCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── SalvageCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── StratConConvoyCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ ├── StratConMaplessCampaignOptionsChangedConfirmationDialog.java
│ │ │ │ └── VeterancyAwardsCampaignOptionsChangedConfirmationDialog.java
│ │ │ ├── control/
│ │ │ │ ├── EditKillLogControl.java
│ │ │ │ ├── EditLogControl.java
│ │ │ │ └── EditScenarioLogControl.java
│ │ │ ├── dialog/
│ │ │ │ ├── AbstractMHQIconChooserDialog.java
│ │ │ │ ├── AcquisitionsDialog.java
│ │ │ │ ├── AddFundsDialog.java
│ │ │ │ ├── AddOrEditKillEntryDialog.java
│ │ │ │ ├── AddOrEditLogEntryDialog.java
│ │ │ │ ├── AddOrEditScenarioEntryDialog.java
│ │ │ │ ├── AdvanceDaysDialog.java
│ │ │ │ ├── AdvancedReplacementLimbDialog.java
│ │ │ │ ├── AttributeCheckDialog.java
│ │ │ │ ├── AutoAwardsDialog.java
│ │ │ │ ├── AutoAwardsTable.java
│ │ │ │ ├── AutoResolveBehaviorSettingsDialog.java
│ │ │ │ ├── BatchXPDialog.java
│ │ │ │ ├── BayRentalDialog.java
│ │ │ │ ├── BombsDialog.java
│ │ │ │ ├── CampaignExportWizard.java
│ │ │ │ ├── CampaignHasProblemOnLoad.java
│ │ │ │ ├── CampaignUpgradeDialog.java
│ │ │ │ ├── ChooseMulFilesDialog.java
│ │ │ │ ├── ChooseRefitDialog.java
│ │ │ │ ├── CompanyGenerationDialog.java
│ │ │ │ ├── CompanyGenerationOptionsDialog.java
│ │ │ │ ├── CompleteMissionDialog.java
│ │ │ │ ├── ContractMarketDialog.java
│ │ │ │ ├── ContractStartRentalDialog.java
│ │ │ │ ├── CreateCharacterDialog.java
│ │ │ │ ├── CustomRankSystemCreationDialog.java
│ │ │ │ ├── CustomizeAtBContractDialog.java
│ │ │ │ ├── CustomizeBotForceDialog.java
│ │ │ │ ├── CustomizeMissionDialog.java
│ │ │ │ ├── CustomizePersonDialog.java
│ │ │ │ ├── CustomizeScenarioDialog.java
│ │ │ │ ├── CustomizeScenarioObjectiveDialog.java
│ │ │ │ ├── DataLoadingDialog.java
│ │ │ │ ├── DateChooser.java
│ │ │ │ ├── DiplomacyReport.java
│ │ │ │ ├── EasyBugReportDialog.java
│ │ │ │ ├── EditAssetDialog.java
│ │ │ │ ├── EditDeploymentDialog.java
│ │ │ │ ├── EditInjuryEntryDialog.java
│ │ │ │ ├── EditKillLogDialog.java
│ │ │ │ ├── EditLogDialog.java
│ │ │ │ ├── EditMapSettingsDialog.java
│ │ │ │ ├── EditPersonnelHitsDialog.java
│ │ │ │ ├── EditPersonnelInjuriesDialog.java
│ │ │ │ ├── EditScenarioDeploymentLimitDialog.java
│ │ │ │ ├── EditScenarioLogDialog.java
│ │ │ │ ├── EditSkillPreRequisiteDialog.java
│ │ │ │ ├── EditSpecialAbilityDialog.java
│ │ │ │ ├── EditTransactionDialog.java
│ │ │ │ ├── FamilyTreeDialog.java
│ │ │ │ ├── ForceTemplateAssignmentDialog.java
│ │ │ │ ├── GMToolsDialog.java
│ │ │ │ ├── HireBulkPersonnelDialog.java
│ │ │ │ ├── HistoricalDailyReportDialog.java
│ │ │ │ ├── JumpCostsSummary.java
│ │ │ │ ├── LargeCraftAmmoSwapDialog.java
│ │ │ │ ├── LootDialog.java
│ │ │ │ ├── MHQOptionsDialog.java
│ │ │ │ ├── MRMSDialog.java
│ │ │ │ ├── ManageAssetsDialog.java
│ │ │ │ ├── MaplessStratConForcePicker.java
│ │ │ │ ├── MaplessStratConScenarioPicker.java
│ │ │ │ ├── MarkdownEditorDialog.java
│ │ │ │ ├── MassMothballDialog.java
│ │ │ │ ├── MedicalViewDialog.java
│ │ │ │ ├── MekHQAboutDialog.java
│ │ │ │ ├── MekHQUnitSelectorDialog.java
│ │ │ │ ├── MercenaryAuctionDialog.java
│ │ │ │ ├── MilestoneUpgradePathDialog.java
│ │ │ │ ├── MissionTypeDialog.java
│ │ │ │ ├── NewAtBContractDialog.java
│ │ │ │ ├── NewCampaignConfirmationDialog.java
│ │ │ │ ├── NewContractDialog.java
│ │ │ │ ├── NewLoanDialog.java
│ │ │ │ ├── NewPlayerQuickstartDialog.java
│ │ │ │ ├── NewRecruitDialog.java
│ │ │ │ ├── NewsDialog.java
│ │ │ │ ├── ObjectiveEditPanel.java
│ │ │ │ ├── PartsReportDialog.java
│ │ │ │ ├── PartsStoreDialog.java
│ │ │ │ ├── PayCollateralDialog.java
│ │ │ │ ├── PersonnelMarketDialog.java
│ │ │ │ ├── PopupValueChoiceDialog.java
│ │ │ │ ├── QuickTrainDialog.java
│ │ │ │ ├── QuirksDialog.java
│ │ │ │ ├── RefitNameDialog.java
│ │ │ │ ├── ReplacementLimbDialog.java
│ │ │ │ ├── ResolveScenarioWizardDialog.java
│ │ │ │ ├── ResupplyConvoyChoice.java
│ │ │ │ ├── RetirementDefectionDialog.java
│ │ │ │ ├── RetirementTable.java
│ │ │ │ ├── ScenarioTemplateEditorDialog.java
│ │ │ │ ├── SelectAbilitiesDialog.java
│ │ │ │ ├── SkillCheckDialog.java
│ │ │ │ ├── SmallSVAmmoSwapDialog.java
│ │ │ │ ├── StoryArcSelectionDialog.java
│ │ │ │ ├── StoryChoiceDialog.java
│ │ │ │ ├── StoryDialog.java
│ │ │ │ ├── StoryNarrativeDialog.java
│ │ │ │ ├── StratConReinforcementsConfirmationDialog.java
│ │ │ │ ├── StratConSinglesReinforcementsDialog.java
│ │ │ │ ├── UnitMarketDialog.java
│ │ │ │ ├── VocationalExperienceAwardDialog.java
│ │ │ │ ├── camOpsSalvage/
│ │ │ │ │ ├── SalvageFormationPicker.java
│ │ │ │ │ ├── SalvagePostScenarioPicker.java
│ │ │ │ │ └── SalvageTechPicker.java
│ │ │ │ ├── factionStanding/
│ │ │ │ │ ├── FactionStandingReport.java
│ │ │ │ │ ├── FactionStandingSlider.java
│ │ │ │ │ ├── FactionStandingUltimatumDialog.java
│ │ │ │ │ ├── events/
│ │ │ │ │ │ └── FactionStandingGreeting.java
│ │ │ │ │ ├── factionJudgment/
│ │ │ │ │ │ ├── FactionAccoladeConfirmationDialog.java
│ │ │ │ │ │ ├── FactionCensureConfirmationDialog.java
│ │ │ │ │ │ ├── FactionCensureGoingRogueDialog.java
│ │ │ │ │ │ ├── FactionJudgmentDialog.java
│ │ │ │ │ │ ├── FactionJudgmentNewsArticle.java
│ │ │ │ │ │ └── FactionJudgmentSceneDialog.java
│ │ │ │ │ ├── gmToolsDialog/
│ │ │ │ │ │ ├── AccoladeSelectionDialog.java
│ │ │ │ │ │ ├── CensureSelectionDialog.java
│ │ │ │ │ │ ├── FactionSelectionDialog.java
│ │ │ │ │ │ ├── FactionStandingsGMToolsActionType.java
│ │ │ │ │ │ ├── GMTools.java
│ │ │ │ │ │ └── GMToolsConfirmationDialog.java
│ │ │ │ │ └── manualMissionDialogs/
│ │ │ │ │ ├── ManualMissionDialog.java
│ │ │ │ │ ├── SimulateMissionDialog.java
│ │ │ │ │ └── StandingUpdateConfirmationDialog.java
│ │ │ │ ├── glossary/
│ │ │ │ │ ├── NewDocumentationEntryDialog.java
│ │ │ │ │ ├── NewGlossaryDialog.java
│ │ │ │ │ └── NewGlossaryEntryDialog.java
│ │ │ │ ├── helpDialogs/
│ │ │ │ │ └── AutoResolveBehaviorSettingsHelpDialog.java
│ │ │ │ ├── iconDialogs/
│ │ │ │ │ ├── LayeredFormationIconDialog.java
│ │ │ │ │ ├── StandardFormationIconDialog.java
│ │ │ │ │ └── UnitIconDialog.java
│ │ │ │ ├── markets/
│ │ │ │ │ └── personnelMarket/
│ │ │ │ │ ├── ApplicantTableColumns.java
│ │ │ │ │ ├── PersonTableModel.java
│ │ │ │ │ ├── PersonnelMarketDialog.java
│ │ │ │ │ └── PersonnelTablePanel.java
│ │ │ │ ├── nagDialogs/
│ │ │ │ │ ├── CombatChallengeNagDialog.java
│ │ │ │ │ ├── DeploymentShortfallNagDialog.java
│ │ │ │ │ ├── EndContractNagDialog.java
│ │ │ │ │ ├── HRStrainNagDialog.java
│ │ │ │ │ ├── InsufficientAsTechsNagDialog.java
│ │ │ │ │ ├── InsufficientAstechTimeNagDialog.java
│ │ │ │ │ ├── InsufficientMedicsNagDialog.java
│ │ │ │ │ ├── InvalidFactionNagDialog.java
│ │ │ │ │ ├── NagController.java
│ │ │ │ │ ├── OutstandingScenariosNagDialog.java
│ │ │ │ │ ├── PregnantCombatantNagDialog.java
│ │ │ │ │ ├── PrisonersNagDialog.java
│ │ │ │ │ ├── SingleDropNagDialog.java
│ │ │ │ │ ├── UnableToAffordExpensesNagDialog.java
│ │ │ │ │ ├── UnableToAffordJumpNagDialog.java
│ │ │ │ │ ├── UnableToAffordLoanPaymentNagDialog.java
│ │ │ │ │ ├── UnableToAffordRentNagDialog.java
│ │ │ │ │ ├── UnableToAffordShoppingListNagDialog.java
│ │ │ │ │ ├── UnmaintainedUnitsNagDialog.java
│ │ │ │ │ ├── UnresolvedStratConContactsNagDialog.java
│ │ │ │ │ ├── UntreatedPersonnelNagDialog.java
│ │ │ │ │ └── nagLogic/
│ │ │ │ │ ├── DeploymentShortfallNagLogic.java
│ │ │ │ │ ├── EndContractNagLogic.java
│ │ │ │ │ ├── HRStrainNagLogic.java
│ │ │ │ │ ├── InsufficientAsTechTimeNagLogic.java
│ │ │ │ │ ├── InsufficientAsTechsNagLogic.java
│ │ │ │ │ ├── InsufficientMedicsNagLogic.java
│ │ │ │ │ ├── InvalidFactionNagLogic.java
│ │ │ │ │ ├── NoCommanderNagLogic.java
│ │ │ │ │ ├── OutstandingScenariosNagLogic.java
│ │ │ │ │ ├── PregnantCombatantNagLogic.java
│ │ │ │ │ ├── PrisonersNagLogic.java
│ │ │ │ │ ├── SingleDropSetUpNagLogic.java
│ │ │ │ │ ├── UnableToAffordExpensesNagLogic.java
│ │ │ │ │ ├── UnableToAffordJumpNagLogic.java
│ │ │ │ │ ├── UnableToAffordLoanPaymentNag.java
│ │ │ │ │ ├── UnableToAffordRentNagLogic.java
│ │ │ │ │ ├── UnableToAffordShoppingListNag.java
│ │ │ │ │ ├── UnmaintainedUnitsNagLogic.java
│ │ │ │ │ ├── UnresolvedStratConContactsNagLogic.java
│ │ │ │ │ └── UntreatedPersonnelNagLogic.java
│ │ │ │ ├── randomEvents/
│ │ │ │ │ └── RoninEventDialog.java
│ │ │ │ ├── reportDialogs/
│ │ │ │ │ ├── AbstractReportDialog.java
│ │ │ │ │ ├── CargoReportDialog.java
│ │ │ │ │ ├── HangarReportDialog.java
│ │ │ │ │ ├── MaintenanceReportDialog.java
│ │ │ │ │ ├── MonthlyUnitCostReportDialog.java
│ │ │ │ │ ├── NewsReportDialog.java
│ │ │ │ │ ├── PartQualityReportDialog.java
│ │ │ │ │ ├── PersonnelReportDialog.java
│ │ │ │ │ ├── ReputationReportDialog.java
│ │ │ │ │ └── TransportReportDialog.java
│ │ │ │ └── resupplyAndCaches/
│ │ │ │ ├── DialogContractStart.java
│ │ │ │ ├── DialogItinerary.java
│ │ │ │ ├── DialogResupplyFocus.java
│ │ │ │ ├── DialogSwindled.java
│ │ │ │ └── ResupplyDialogUtilities.java
│ │ │ ├── displayWrappers/
│ │ │ │ ├── ClanDisplay.java
│ │ │ │ ├── FactionDisplay.java
│ │ │ │ └── RankDisplay.java
│ │ │ ├── enums/
│ │ │ │ ├── FormationIconOperationalStatusStyle.java
│ │ │ │ ├── MHQTabType.java
│ │ │ │ ├── PersonnelFilter.java
│ │ │ │ ├── PersonnelFilterStyle.java
│ │ │ │ ├── PersonnelTabView.java
│ │ │ │ └── PersonnelTableModelColumn.java
│ │ │ ├── handler/
│ │ │ │ └── TOETransferHandler.java
│ │ │ ├── menus/
│ │ │ │ ├── AssignForceToShipTransportMenu.java
│ │ │ │ ├── AssignForceToTacticalTransportMenu.java
│ │ │ │ ├── AssignForceToTowTransportMenu.java
│ │ │ │ ├── AssignForceToTransportMenu.java
│ │ │ │ ├── AssignPersonToUnitMenu.java
│ │ │ │ ├── AssignTechToUnitMenu.java
│ │ │ │ ├── AssignUnitToForceMenu.java
│ │ │ │ ├── AssignUnitToPersonMenu.java
│ │ │ │ ├── AssignUnitToTechMenu.java
│ │ │ │ └── ExportUnitSpriteMenu.java
│ │ │ ├── model/
│ │ │ │ ├── AutoAwardsTableModel.java
│ │ │ │ ├── BotForceTableModel.java
│ │ │ │ ├── CrewListModel.java
│ │ │ │ ├── DataTableModel.java
│ │ │ │ ├── DocTableModel.java
│ │ │ │ ├── FilterableComboBoxModel.java
│ │ │ │ ├── FilterableListModel.java
│ │ │ │ ├── FinanceTableModel.java
│ │ │ │ ├── KillTableModel.java
│ │ │ │ ├── LoanTableModel.java
│ │ │ │ ├── LogTableModel.java
│ │ │ │ ├── LootTableModel.java
│ │ │ │ ├── ObjectiveTableModel.java
│ │ │ │ ├── OrgTreeModel.java
│ │ │ │ ├── PartsInUseTableModel.java
│ │ │ │ ├── PartsStoreModel.java
│ │ │ │ ├── PartsTableModel.java
│ │ │ │ ├── PatientTableModel.java
│ │ │ │ ├── PersonnelEventLogModel.java
│ │ │ │ ├── PersonnelKillLogModel.java
│ │ │ │ ├── PersonnelTableModel.java
│ │ │ │ ├── ProcurementTableModel.java
│ │ │ │ ├── RankTableModel.java
│ │ │ │ ├── RetirementTableModel.java
│ │ │ │ ├── ScenarioTableModel.java
│ │ │ │ ├── TaskTableModel.java
│ │ │ │ ├── TechTableModel.java
│ │ │ │ ├── UnitAssignmentTableModel.java
│ │ │ │ ├── UnitMarketTableModel.java
│ │ │ │ └── UnitTableModel.java
│ │ │ ├── panels/
│ │ │ │ ├── AbstractMHQIconChooser.java
│ │ │ │ ├── CampaignPresetPanel.java
│ │ │ │ ├── CompanyGenerationOptionsPanel.java
│ │ │ │ ├── ForcePieceIconChooser.java
│ │ │ │ ├── LayeredFormationIconCreationPanel.java
│ │ │ │ ├── RandomOriginOptionsPanel.java
│ │ │ │ ├── StandardFormationIconChooser.java
│ │ │ │ ├── StartupScreenPanel.java
│ │ │ │ ├── StoryArcPanel.java
│ │ │ │ ├── StoryChoicePanel.java
│ │ │ │ ├── TutorialHyperlinkPanel.java
│ │ │ │ └── UnitIconChooser.java
│ │ │ ├── panes/
│ │ │ │ ├── RankSystemsPane.java
│ │ │ │ ├── StoryArcSelectionPane.java
│ │ │ │ └── UnitMarketPane.java
│ │ │ ├── preferences/
│ │ │ │ └── StringPreference.java
│ │ │ ├── renderers/
│ │ │ │ └── StoryArcRenderer.java
│ │ │ ├── sorter/
│ │ │ │ ├── AttributeScoreSorter.java
│ │ │ │ ├── BonusSorter.java
│ │ │ │ ├── DateStringComparator.java
│ │ │ │ ├── EducationLevelSorter.java
│ │ │ │ ├── FormattedNumberSorter.java
│ │ │ │ ├── IntegerStringSorter.java
│ │ │ │ ├── LevelSorter.java
│ │ │ │ ├── PartsDetailSorter.java
│ │ │ │ ├── PersonRankSorter.java
│ │ │ │ ├── PersonRankStringSorter.java
│ │ │ │ ├── PersonTitleSorter.java
│ │ │ │ ├── PersonTitleStringSorter.java
│ │ │ │ ├── PrisonerStatusSorter.java
│ │ │ │ ├── ReasoningSorter.java
│ │ │ │ ├── TargetSorter.java
│ │ │ │ ├── TaskSorter.java
│ │ │ │ ├── TechSorter.java
│ │ │ │ ├── TwoNumbersSorter.java
│ │ │ │ ├── UnitStatusSorter.java
│ │ │ │ ├── UnitTypeSorter.java
│ │ │ │ ├── WarehouseStatusSorter.java
│ │ │ │ └── WeightClassSorter.java
│ │ │ ├── stratCon/
│ │ │ │ ├── CampaignManagementDialog.java
│ │ │ │ ├── ScenarioWizardLanceModel.java
│ │ │ │ ├── ScenarioWizardLanceRenderer.java
│ │ │ │ ├── ScenarioWizardUnitRenderer.java
│ │ │ │ ├── StratConScenarioWizard.java
│ │ │ │ └── TrackForceAssignmentUI.java
│ │ │ ├── trees/
│ │ │ │ ├── ForcePieceIconChooserTree.java
│ │ │ │ └── StandardFormationIconChooserTree.java
│ │ │ ├── utilities/
│ │ │ │ ├── ImgLabel.java
│ │ │ │ ├── JMenuHelpers.java
│ │ │ │ ├── JMoneyTextField.java
│ │ │ │ ├── JScrollPaneWithSpeed.java
│ │ │ │ ├── JSuggestField.java
│ │ │ │ ├── MHQPDFReaderPanel.java
│ │ │ │ ├── MarkdownEditorPanel.java
│ │ │ │ ├── MarkdownRenderer.java
│ │ │ │ ├── MekHqTableCellRenderer.java
│ │ │ │ ├── MultiLineTooltip.java
│ │ │ │ ├── MultiplyComposite.java
│ │ │ │ ├── ObservableString.java
│ │ │ │ ├── OriginFactionPickerHelper.java
│ │ │ │ ├── StaticChecks.java
│ │ │ │ └── WrapLayout.java
│ │ │ └── view/
│ │ │ ├── AtBScenarioViewPanel.java
│ │ │ ├── ContractPaymentBreakdown.java
│ │ │ ├── ContractSummaryPanel.java
│ │ │ ├── ForceViewPanel.java
│ │ │ ├── JumpPathViewPanel.java
│ │ │ ├── LanceAssignmentTableModel.java
│ │ │ ├── LanceAssignmentView.java
│ │ │ ├── MissionViewPanel.java
│ │ │ ├── PaperDoll.java
│ │ │ ├── PersonViewPanel.java
│ │ │ ├── PlanetViewPanel.java
│ │ │ ├── RequiredLancesTableModel.java
│ │ │ ├── ScenarioViewPanel.java
│ │ │ └── UnitViewPanel.java
│ │ ├── io/
│ │ │ ├── AwardFileFactory.java
│ │ │ ├── FileType.java
│ │ │ └── idReferenceClasses/
│ │ │ └── PersonIdReference.java
│ │ ├── module/
│ │ │ ├── AbstractServiceManager.java
│ │ │ ├── PersonnelMarketServiceManager.java
│ │ │ ├── PluginManager.java
│ │ │ ├── ScriptPluginManager.java
│ │ │ ├── api/
│ │ │ │ ├── MekHQModule.java
│ │ │ │ └── PersonnelMarketMethod.java
│ │ │ └── atb/
│ │ │ └── PersonnelMarketAtB.java
│ │ ├── service/
│ │ │ ├── AutosaveService.java
│ │ │ ├── IAutosaveService.java
│ │ │ ├── PartsAcquisitionService.java
│ │ │ ├── enums/
│ │ │ │ └── MRMSMode.java
│ │ │ └── mrms/
│ │ │ ├── MRMSConfiguredOptions.java
│ │ │ ├── MRMSOption.java
│ │ │ └── MRMSService.java
│ │ └── utilities/
│ │ ├── EntityUtilities.java
│ │ ├── MHQInternationalization.java
│ │ ├── MHQXMLUtility.java
│ │ ├── PotentialTransportsMap.java
│ │ ├── ReportingUtilities.java
│ │ ├── ScenarioUtils.java
│ │ ├── SystemValidator.java
│ │ ├── ValidationMessage.java
│ │ ├── ValidationResult.java
│ │ └── spaUtilities/
│ │ ├── SpaUtilities.java
│ │ └── enums/
│ │ └── AbilityCategory.java
│ ├── testresources/
│ │ ├── data/
│ │ │ ├── mekfiles/
│ │ │ │ ├── Buster BC XV-M-B HaulerMech MOD.mtf
│ │ │ │ ├── Caravan Heavy Transport.blk
│ │ │ │ ├── Champion CHP-3P.mtf
│ │ │ │ ├── Crockett CRK-5003-0.mtf
│ │ │ │ ├── Crusader CRD-7M.mtf
│ │ │ │ ├── Enforcer III ENF-6M.mtf
│ │ │ │ ├── Flashman FLS-7K.mtf
│ │ │ │ ├── Griffin GRF-1E Sparky.mtf
│ │ │ │ ├── Hammerhands HMH-5D.mtf
│ │ │ │ ├── Hatchetman HCT-6D.mtf
│ │ │ │ ├── Hoshiryokou Tug Boat.blk
│ │ │ │ ├── Locust LCT-1E.mtf
│ │ │ │ ├── Locust LCT-1V.mtf
│ │ │ │ ├── Osiris OSR-5D.mtf
│ │ │ │ ├── Prime Mover.blk
│ │ │ │ ├── Quickdraw QKD-8X.mtf
│ │ │ │ ├── Rifleman RFL-9T.mtf
│ │ │ │ ├── Shadow Hawk SHD-2H.mtf
│ │ │ │ ├── Shadow Hawk SHD-5D.mtf
│ │ │ │ ├── Shadow Hawk SHD-7CS.mtf
│ │ │ │ ├── Spartan SPT-N1.mtf
│ │ │ │ ├── Stalker STK-4N.mtf
│ │ │ │ ├── UrbanMech UM-R69.mtf
│ │ │ │ ├── Victor VTR-9S.mtf
│ │ │ │ ├── Vulcan VT-7T.mtf
│ │ │ │ ├── Wasp WSP-1.mtf
│ │ │ │ └── Zeus ZEU-6A.mtf
│ │ │ ├── names/
│ │ │ │ └── callsigns_test.csv
│ │ │ ├── scenariomodifiers/
│ │ │ │ ├── EnemyAirSupport_test.xml
│ │ │ │ └── modifiermanifest_test.xml
│ │ │ └── universe/
│ │ │ ├── defaultspa_test.xml
│ │ │ ├── factionhints_test.xml
│ │ │ ├── factions/
│ │ │ │ ├── CBS_test.yml
│ │ │ │ ├── CC_test.yml
│ │ │ │ ├── CDS_test.yml
│ │ │ │ ├── CGB_test.yml
│ │ │ │ ├── CJF_test.yml
│ │ │ │ ├── CLAN_TAG.yml
│ │ │ │ ├── CSJ_test.yml
│ │ │ │ ├── CS_test.yml
│ │ │ │ ├── FS_test.yml
│ │ │ │ ├── IS_TAG.yml
│ │ │ │ ├── LA_test.yml
│ │ │ │ ├── MERC_test.yml
│ │ │ │ └── MH_test.yml
│ │ │ └── planetary_systems/
│ │ │ └── canon_systems/
│ │ │ ├── Galatea.yml
│ │ │ └── Skye.yml
│ │ └── mockito-extensions/
│ │ └── org.mockito.plugins.MockMaker
│ └── unittests/
│ ├── mekhq/
│ │ ├── EventSpy.java
│ │ ├── campaign/
│ │ │ ├── C3NetworkTest.java
│ │ │ ├── CampaignNewDayManagerTest.java
│ │ │ ├── CampaignSummaryTest.java
│ │ │ ├── CampaignTest.java
│ │ │ ├── LogEntryTest.java
│ │ │ ├── QuartermasterTest.java
│ │ │ ├── ResolveScenarioTrackerTest.java
│ │ │ ├── WarehouseTest.java
│ │ │ ├── autoResolve/
│ │ │ │ ├── ResolverTest.java
│ │ │ │ └── ScenarioSetupForcesTest.java
│ │ │ ├── camOpsReputation/
│ │ │ │ ├── AverageExperienceRatingTest.java
│ │ │ │ ├── CommandRatingTest.java
│ │ │ │ └── ReputationControllerTest.java
│ │ │ ├── events/
│ │ │ │ └── DayEndingEventTest.java
│ │ │ ├── finances/
│ │ │ │ ├── AccountantTest.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── FinancialTermTest.java
│ │ │ │ │ ├── FinancialYearDurationTest.java
│ │ │ │ │ └── TransactionTypeTest.java
│ │ │ │ └── financialInstitutions/
│ │ │ │ ├── FinancialInstitutionTest.java
│ │ │ │ └── FinancialInstitutionsTest.java
│ │ │ ├── force/
│ │ │ │ ├── CombatTeamTest.java
│ │ │ │ └── FormationTest.java
│ │ │ ├── market/
│ │ │ │ ├── ContractMarketAtBGenerationTests.java
│ │ │ │ ├── PartsInUseManagerTest.java
│ │ │ │ ├── TestPartsStore.java
│ │ │ │ ├── contractMarket/
│ │ │ │ │ ├── AlternatePaymentModelValuesTest.java
│ │ │ │ │ └── AtbMonthlyContractMarketTest.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── ContractMarketMethodTest.java
│ │ │ │ │ ├── UnitMarketMethodTest.java
│ │ │ │ │ └── UnitMarketTypeTest.java
│ │ │ │ └── personnelMarket/
│ │ │ │ ├── enums/
│ │ │ │ │ └── PersonnelMarketStyleTest.java
│ │ │ │ └── markets/
│ │ │ │ └── NewPersonnelMarketTest.java
│ │ │ ├── mission/
│ │ │ │ ├── AtBContractTest.java
│ │ │ │ ├── AtBDynamicScenarioFactoryTest.java
│ │ │ │ ├── BotForceRandomizerTest.java
│ │ │ │ ├── ContractTest.java
│ │ │ │ ├── CrewSkillUpgraderTest.java
│ │ │ │ ├── DynamicScenarioFactoryTest.java
│ │ │ │ ├── MHQMoraleTest.java
│ │ │ │ ├── TransportCostCalculationsTest.java
│ │ │ │ ├── atb/
│ │ │ │ │ └── ScenarioModifierTest.java
│ │ │ │ └── utilities/
│ │ │ │ └── ContractUtilitiesTest.java
│ │ │ ├── parts/
│ │ │ │ ├── AmmoStorageTest.java
│ │ │ │ ├── AmmoUtilities.java
│ │ │ │ ├── ArmorTest.java
│ │ │ │ ├── InfantryAmmoStorageTest.java
│ │ │ │ ├── MekLocationTest.java
│ │ │ │ ├── MissingAvionicsTest.java
│ │ │ │ ├── MissingLandingGearTest.java
│ │ │ │ ├── MissingMekLocationTest.java
│ │ │ │ ├── MissingPartTest.java
│ │ │ │ ├── PartTest.java
│ │ │ │ ├── RefitTest.java
│ │ │ │ ├── TotalBuyCostTest.java
│ │ │ │ ├── enums/
│ │ │ │ │ └── PartRepairTypeTest.java
│ │ │ │ └── equipment/
│ │ │ │ ├── AmmoBinTest.java
│ │ │ │ ├── BattleArmorAmmoBinTest.java
│ │ │ │ ├── EquipmentPartTest.java
│ │ │ │ ├── EquipmentUtilities.java
│ │ │ │ ├── InfantryAmmoBinTest.java
│ │ │ │ ├── LargeCraftAmmoBinTest.java
│ │ │ │ ├── MissingAmmoBinTest.java
│ │ │ │ ├── MissingEquipmentPartTest.java
│ │ │ │ ├── MissingHeatSinkTest.java
│ │ │ │ ├── MissingInfantryAmmoBinTest.java
│ │ │ │ └── MissingLargeCraftAmmoBinTest.java
│ │ │ ├── personnel/
│ │ │ │ ├── BloodmarkTest.java
│ │ │ │ ├── ExtraIncomeTest.java
│ │ │ │ ├── InjuryTypeTest.java
│ │ │ │ ├── PersonTest.java
│ │ │ │ ├── PersonnelTestUtilities.java
│ │ │ │ ├── RandomDependentsTest.java
│ │ │ │ ├── advancedCharacterBuilder/
│ │ │ │ │ ├── ATOWLifeStageTest.java
│ │ │ │ │ ├── LifePathCategoryTest.java
│ │ │ │ │ ├── LifePathDataClassLookupTest.java
│ │ │ │ │ ├── LifePathEntryDataTest.java
│ │ │ │ │ ├── LifePathEntryDataTraitLookupTest.java
│ │ │ │ │ └── LifePathRecordTest.java
│ │ │ │ ├── death/
│ │ │ │ │ └── RandomDeathTest.java
│ │ │ │ ├── divorce/
│ │ │ │ │ ├── DisabledRandomDivorceTest.java
│ │ │ │ │ └── PercentageRandomDivorceTest.java
│ │ │ │ ├── education/
│ │ │ │ │ ├── AcademyFactoryTest.java
│ │ │ │ │ └── AcademyTests.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── AgeGroupTest.java
│ │ │ │ │ ├── BabySurnameStyleTest.java
│ │ │ │ │ ├── BloodGroupTest.java
│ │ │ │ │ ├── BloodmarkLevelTest.java
│ │ │ │ │ ├── ConnectionsLevelTest.java
│ │ │ │ │ ├── FamilialConnectionTypeTest.java
│ │ │ │ │ ├── FamilialRelationshipDisplayLevelTest.java
│ │ │ │ │ ├── FamilialRelationshipTypeTest.java
│ │ │ │ │ ├── FormerSpouseReasonTest.java
│ │ │ │ │ ├── GenderDescriptorsTest.java
│ │ │ │ │ ├── InjuryLevelTest.java
│ │ │ │ │ ├── ManeiDominiClassTest.java
│ │ │ │ │ ├── ManeiDominiRankTest.java
│ │ │ │ │ ├── MergingSurnameStyleTest.java
│ │ │ │ │ ├── ModifierValueTest.java
│ │ │ │ │ ├── PersonnelRoleTest.java
│ │ │ │ │ ├── PersonnelStatusTest.java
│ │ │ │ │ ├── PhenotypeTest.java
│ │ │ │ │ ├── ProfessionTest.java
│ │ │ │ │ ├── ROMDesignationTest.java
│ │ │ │ │ ├── RandomDivorceMethodTest.java
│ │ │ │ │ ├── RandomMarriageMethodTest.java
│ │ │ │ │ ├── RandomProcreationMethodTest.java
│ │ │ │ │ ├── RankSystemTypeTest.java
│ │ │ │ │ ├── SplittingSurnameStyleTest.java
│ │ │ │ │ ├── TenYearAgeRangeTest.java
│ │ │ │ │ └── TimeInDisplayFormatTest.java
│ │ │ │ ├── familyTree/
│ │ │ │ │ ├── FormerSpouseTest.java
│ │ │ │ │ └── GenealogyTest.java
│ │ │ │ ├── marriage/
│ │ │ │ │ ├── AbstractMarriageTest.java
│ │ │ │ │ ├── DisabledRandomMarriageTest.java
│ │ │ │ │ └── PercentageRandomMarriageTest.java
│ │ │ │ ├── medical/
│ │ │ │ │ ├── advancedMedical/
│ │ │ │ │ │ └── InjuryTypesTest.java
│ │ │ │ │ └── advancedMedicalAlternate/
│ │ │ │ │ ├── InoculationsTest.java
│ │ │ │ │ └── ProstheticTypeTest.java
│ │ │ │ ├── procreation/
│ │ │ │ │ ├── AbstractProcreationTest.java
│ │ │ │ │ ├── DisabledRandomProcreationTest.java
│ │ │ │ │ └── RandomProcreationTest.java
│ │ │ │ ├── skills/
│ │ │ │ │ ├── AppraisalTest.java
│ │ │ │ │ ├── AttributesTest.java
│ │ │ │ │ ├── SkillCheckUtilityTest.java
│ │ │ │ │ ├── SkillTest.java
│ │ │ │ │ ├── SkillTypeTest.java
│ │ │ │ │ ├── TestSkillModifierData.java
│ │ │ │ │ └── enums/
│ │ │ │ │ ├── AgingMilestoneTest.java
│ │ │ │ │ ├── MarginOfSuccessTest.java
│ │ │ │ │ └── SkillAttributeTest.java
│ │ │ │ └── turnoverAndRetention/
│ │ │ │ └── RetirementDefectionTrackerTest.java
│ │ │ ├── randomEvents/
│ │ │ │ ├── personalities/
│ │ │ │ │ └── enums/
│ │ │ │ │ ├── AggressionTest.java
│ │ │ │ │ ├── AmbitionTest.java
│ │ │ │ │ ├── GreedTest.java
│ │ │ │ │ ├── PersonalityQuirkTest.java
│ │ │ │ │ ├── PersonalityTraitTypeTest.java
│ │ │ │ │ ├── ReasoningTest.java
│ │ │ │ │ └── SocialTest.java
│ │ │ │ └── prisoners/
│ │ │ │ ├── CapturePrisonersTest.java
│ │ │ │ ├── EventEffectsManagerTest.java
│ │ │ │ ├── PrisonerEventManagerTest.java
│ │ │ │ ├── PrisonerMissionEndEventTest.java
│ │ │ │ └── enums/
│ │ │ │ ├── MobTypeTest.java
│ │ │ │ ├── PrisonerCaptureStyleTest.java
│ │ │ │ └── PrisonerStatusTest.java
│ │ │ ├── report/
│ │ │ │ └── TransportReportTest.java
│ │ │ ├── stratCon/
│ │ │ │ ├── StratConRulesManagerTest.java
│ │ │ │ └── StratConTerrainPlacerTest.java
│ │ │ ├── unit/
│ │ │ │ ├── CargoCapacityTest.java
│ │ │ │ ├── HangarStatisticsTest.java
│ │ │ │ ├── LegacyUnitShipTransportTest.java
│ │ │ │ ├── UnitIOTest.java
│ │ │ │ ├── UnitPersonTest.java
│ │ │ │ ├── UnitQuirksTest.java
│ │ │ │ ├── UnitTestUtilities.java
│ │ │ │ ├── UnitTransportTest.java
│ │ │ │ ├── actions/
│ │ │ │ │ ├── AdjustLargeCraftAmmoActionTest.java
│ │ │ │ │ ├── HirePersonnelUnitActionTest.java
│ │ │ │ │ ├── RestoreUnitActionTest.java
│ │ │ │ │ ├── StripUnitActionTest.java
│ │ │ │ │ └── SwapAmmoTypeActionTest.java
│ │ │ │ └── cleanup/
│ │ │ │ ├── ApproximateMatchStepTest.java
│ │ │ │ ├── EquipmentProposalTest.java
│ │ │ │ ├── EquipmentUnscramblerTest.java
│ │ │ │ ├── ExactMatchStepTest.java
│ │ │ │ ├── MovedAmmoBinTest.java
│ │ │ │ └── MovedEquipmentStepTest.java
│ │ │ ├── universe/
│ │ │ │ ├── FactionBorderTrackerTest.java
│ │ │ │ ├── FactionBordersTest.java
│ │ │ │ ├── FactionsIntegrationTest.java
│ │ │ │ ├── RandomFactionGeneratorTest.java
│ │ │ │ ├── RegionPerimeterTest.java
│ │ │ │ ├── TestSystems.java
│ │ │ │ ├── enums/
│ │ │ │ │ ├── BattleMekFactionGenerationMethodTest.java
│ │ │ │ │ ├── CompanyGenerationMethodTest.java
│ │ │ │ │ └── MysteryBoxTypeTest.java
│ │ │ │ ├── factionHints/
│ │ │ │ │ └── FactionHintsTest.java
│ │ │ │ └── factionStanding/
│ │ │ │ ├── AccoladeEntryTest.java
│ │ │ │ ├── CensureEntryTest.java
│ │ │ │ ├── FactionAccoladeEventAdoptionTextTest.java
│ │ │ │ ├── FactionAccoladeLevelTest.java
│ │ │ │ ├── FactionCensureLevelTest.java
│ │ │ │ ├── FactionStandingLevelTest.java
│ │ │ │ ├── FactionStandingUtilitiesTest.java
│ │ │ │ ├── FactionStandingsTest.java
│ │ │ │ └── MercenaryRelationsTest.java
│ │ │ └── utilities/
│ │ │ ├── AutomatedPersonnelCleanUpTest.java
│ │ │ ├── AutomatedTechAssignmentsTest.java
│ │ │ ├── JumpBlockersTest.java
│ │ │ └── glossary/
│ │ │ ├── DocumentationEntryTest.java
│ │ │ └── GlossaryEntryTest.java
│ │ ├── gui/
│ │ │ ├── campaignOptions/
│ │ │ │ ├── CampaignOptionsMetadataTest.java
│ │ │ │ ├── CampaignOptionsUtilitiesTest.java
│ │ │ │ └── enums/
│ │ │ │ └── ProcurementPersonnelPickTest.java
│ │ │ ├── dialog/
│ │ │ │ ├── CampaignExportWizardTest.java
│ │ │ │ └── nagDialogs/
│ │ │ │ └── nagLogic/
│ │ │ │ ├── EndContractNagLogicTest.java
│ │ │ │ ├── HRStrainNagLogicTest.java
│ │ │ │ ├── InsufficientAsTechsNagLogicTest.java
│ │ │ │ ├── InsufficientMedicsNagLogicTest.java
│ │ │ │ ├── InvalidFactionNagLogicTest.java
│ │ │ │ ├── OutstandingScenariosNagLogicTest.java
│ │ │ │ ├── PregnantCombatantNagLogicTest.java
│ │ │ │ ├── PrisonersNagLogicTest.java
│ │ │ │ ├── ShortDeploymentNagLogicTest.java
│ │ │ │ ├── UnableToAffordExpensesNagLogicTest.java
│ │ │ │ ├── UnableToAffordLoanPaymentNagLogicTest.java
│ │ │ │ ├── UnableToAffordShoppingListNagLogicTest.java
│ │ │ │ ├── UnmaintainedUnitsNagLogicTest.java
│ │ │ │ ├── UnresolvedStratConContactsNagLogicTest.java
│ │ │ │ └── UntreatedPersonnelNagLogicTest.java
│ │ │ ├── enums/
│ │ │ │ ├── FormationIconOperationalStatusStyleTest.java
│ │ │ │ ├── MHQTabTypeTest.java
│ │ │ │ ├── PersonnelFilterStyleTest.java
│ │ │ │ ├── PersonnelFilterTest.java
│ │ │ │ ├── PersonnelTabViewTest.java
│ │ │ │ └── PersonnelTableModelColumnTest.java
│ │ │ ├── model/
│ │ │ │ └── UnitTableModelTest.java
│ │ │ ├── panels/
│ │ │ │ └── StartupScreenPanelTest.java
│ │ │ └── utilities/
│ │ │ └── StaticChecksNovaCEWSTest.java
│ │ ├── io/
│ │ │ ├── FileTypeTest.java
│ │ │ └── idReferenceClasses/
│ │ │ └── PersonIdReferenceTest.java
│ │ ├── resources/
│ │ │ └── .gitkeep
│ │ ├── service/
│ │ │ ├── enums/
│ │ │ │ └── MRMSModeTest.java
│ │ │ └── mrms/
│ │ │ └── MRMSServiceTest.java
│ │ └── utilities/
│ │ └── SystemValidatorTest.java
│ └── testUtilities/
│ └── MHQTestUtilities.java
├── README.md
├── build.gradle
├── config/
│ ├── checkstyle/
│ │ ├── checkstyle-suppressions.xml
│ │ └── checkstyle.xml
│ └── xsl/
│ └── .gitkeep
├── eclipse.xml
├── gradle/
│ ├── gradle-daemon-jvm.properties
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
max_line_length = 120
tab_width = 4
ij_continuation_indent_size = 8
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter: on
ij_formatter_tags_enabled = true
ij_smart_tabs = false
ij_visual_guides =
ij_wrap_on_typing = true
[*.css]
ij_css_align_closing_brace_with_properties = false
ij_css_blank_lines_around_nested_selector = 1
ij_css_blank_lines_between_blocks = 1
ij_css_block_comment_add_space = false
ij_css_brace_placement = end_of_line
ij_css_enforce_quotes_on_format = false
ij_css_hex_color_long_format = false
ij_css_hex_color_lower_case = false
ij_css_hex_color_short_format = false
ij_css_hex_color_upper_case = false
ij_css_keep_blank_lines_in_code = 2
ij_css_keep_indents_on_empty_lines = false
ij_css_keep_single_line_blocks = false
ij_css_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
ij_css_space_after_colon = true
ij_css_space_before_opening_brace = true
ij_css_use_double_quotes = true
ij_css_value_alignment = do_not_align
[*.java]
ij_continuation_indent_size = 6
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = true
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_deconstruction_list_components = false
ij_java_align_multiline_extends_list = true
ij_java_align_multiline_for = false
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = false
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_records = false
ij_java_align_multiline_resources = false
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_text_blocks = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_align_types_in_multi_catch = false
ij_java_annotation_new_line_in_record_component = false
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
ij_java_array_initializer_right_brace_on_new_line = false
ij_java_array_initializer_wrap = normal
ij_java_assert_statement_colon_on_next_line = false
ij_java_assert_statement_wrap = off
ij_java_assignment_wrap = off
ij_java_binary_operation_sign_on_next_line = false
ij_java_binary_operation_wrap = on_every_item
ij_java_blank_lines_after_anonymous_class_header = 0
ij_java_blank_lines_after_class_header = 0
ij_java_blank_lines_after_imports = 1
ij_java_blank_lines_after_package = 1
ij_java_blank_lines_around_class = 1
ij_java_blank_lines_around_field = 0
ij_java_blank_lines_around_field_in_interface = 0
ij_java_blank_lines_around_field_with_annotations = 0
ij_java_blank_lines_around_initializer = 1
ij_java_blank_lines_around_method = 1
ij_java_blank_lines_around_method_in_interface = 1
ij_java_blank_lines_before_class_end = 0
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 0
ij_java_blank_lines_between_record_components = 0
ij_java_block_brace_style = end_of_line
ij_java_block_comment_add_space = false
ij_java_block_comment_at_first_column = true
ij_java_builder_methods =
ij_java_call_parameters_new_line_after_left_paren = false
ij_java_call_parameters_right_paren_on_new_line = false
ij_java_call_parameters_wrap = on_every_item
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = false
ij_java_class_annotation_wrap = split_into_lines
ij_java_class_brace_style = end_of_line
ij_java_class_count_to_use_import_on_demand = 10
ij_java_class_names_in_javadoc = 1
ij_java_deconstruction_list_wrap = normal
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_not_wrap_after_single_annotation_in_parameter = false
ij_java_do_while_brace_force = always
ij_java_doc_add_blank_line_after_description = true
ij_java_doc_add_blank_line_after_param_comments = true
ij_java_doc_add_blank_line_after_return = true
ij_java_doc_add_p_tag_on_empty_lines = true
ij_java_doc_align_exception_comments = true
ij_java_doc_align_param_comments = true
ij_java_doc_do_not_wrap_if_one_line = true
ij_java_doc_enable_formatting = true
ij_java_doc_enable_leading_asterisks = true
ij_java_doc_indent_on_continuation = true
ij_java_doc_keep_empty_lines = true
ij_java_doc_keep_empty_parameter_tag = true
ij_java_doc_keep_empty_return_tag = true
ij_java_doc_keep_empty_throws_tag = true
ij_java_doc_keep_invalid_tags = true
ij_java_doc_param_description_on_new_line = false
ij_java_doc_preserve_line_breaks = false
ij_java_doc_use_throws_not_exception_tag = true
ij_java_else_on_new_line = false
ij_java_entity_dd_prefix =
ij_java_entity_dd_suffix = EJB
ij_java_entity_eb_prefix =
ij_java_entity_eb_suffix = Bean
ij_java_entity_hi_prefix =
ij_java_entity_hi_suffix = Home
ij_java_entity_lhi_prefix = Local
ij_java_entity_lhi_suffix = Home
ij_java_entity_li_prefix = Local
ij_java_entity_li_suffix =
ij_java_entity_pk_class = java.lang.String
ij_java_entity_ri_prefix =
ij_java_entity_ri_suffix =
ij_java_entity_vo_prefix =
ij_java_entity_vo_suffix = VO
ij_java_enum_constants_wrap = on_every_item
ij_java_enum_field_annotation_wrap = on_every_item
ij_java_extends_keyword_wrap = normal
ij_java_extends_list_wrap = normal
ij_java_field_annotation_wrap = split_into_lines
ij_java_field_name_prefix =
ij_java_field_name_suffix =
ij_java_filter_class_prefix =
ij_java_filter_class_suffix =
ij_java_filter_dd_prefix =
ij_java_filter_dd_suffix =
ij_java_finally_on_new_line = false
ij_java_for_brace_force = always
ij_java_for_statement_new_line_after_left_paren = false
ij_java_for_statement_right_paren_on_new_line = false
ij_java_for_statement_wrap = on_every_item
ij_java_generate_final_locals = false
ij_java_generate_final_parameters = false
ij_java_generate_use_type_annotation_before_type = true
ij_java_if_brace_force = always
ij_java_imports_layout = @*, $*, |, java.**, javax.**, |, *
ij_java_indent_case_from_switch = true
ij_java_insert_inner_class_imports = false
ij_java_insert_override_annotation = true
ij_java_keep_blank_lines_before_right_brace = 2
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 2
ij_java_keep_blank_lines_in_declarations = 2
ij_java_keep_builder_methods_indents = false
ij_java_keep_control_statement_in_one_line = false
ij_java_keep_first_column_comment = false
ij_java_keep_indents_on_empty_lines = false
ij_java_keep_line_breaks = true
ij_java_keep_multiple_expressions_in_one_line = false
ij_java_keep_simple_blocks_in_one_line = true
ij_java_keep_simple_classes_in_one_line = true
ij_java_keep_simple_lambdas_in_one_line = true
ij_java_keep_simple_methods_in_one_line = true
ij_java_label_indent_absolute = false
ij_java_label_indent_size = 0
ij_java_lambda_brace_style = end_of_line
ij_java_layout_on_demand_import_from_same_package_first = true
ij_java_layout_static_imports_separately = true
ij_java_line_comment_add_space = false
ij_java_line_comment_add_space_on_reformat = false
ij_java_line_comment_at_first_column = true
ij_java_listener_class_prefix =
ij_java_listener_class_suffix =
ij_java_local_variable_name_prefix =
ij_java_local_variable_name_suffix =
ij_java_message_dd_prefix =
ij_java_message_dd_suffix = EJB
ij_java_message_eb_prefix =
ij_java_message_eb_suffix = Bean
ij_java_method_annotation_wrap = split_into_lines
ij_java_method_brace_style = end_of_line
ij_java_method_call_chain_wrap = on_every_item
ij_java_method_parameters_new_line_after_left_paren = false
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_multi_catch_types_wrap = on_every_item
ij_java_names_count_to_use_import_on_demand = 10
ij_java_new_line_after_lparen_in_annotation = false
ij_java_new_line_after_lparen_in_deconstruction_pattern = true
ij_java_new_line_after_lparen_in_record_header = false
ij_java_new_line_when_body_is_presented = false
ij_java_packages_to_use_import_on_demand =
ij_java_parameter_annotation_wrap = off
ij_java_parameter_name_prefix =
ij_java_parameter_name_suffix =
ij_java_parentheses_expression_new_line_after_left_paren = false
ij_java_parentheses_expression_right_paren_on_new_line = false
ij_java_place_assignment_sign_on_next_line = false
ij_java_prefer_longer_names = true
ij_java_prefer_parameters_wrap = false
ij_java_preserve_module_imports = true
ij_java_record_components_wrap = normal
ij_java_repeat_synchronized = true
ij_java_replace_instanceof_and_cast = false
ij_java_replace_null_check = true
ij_java_replace_sum_lambda_with_method_ref = true
ij_java_resource_list_new_line_after_left_paren = false
ij_java_resource_list_right_paren_on_new_line = false
ij_java_resource_list_wrap = on_every_item
ij_java_rparen_on_new_line_in_annotation = false
ij_java_rparen_on_new_line_in_deconstruction_pattern = true
ij_java_rparen_on_new_line_in_record_header = false
ij_java_servlet_class_prefix =
ij_java_servlet_class_suffix =
ij_java_servlet_dd_prefix =
ij_java_servlet_dd_suffix =
ij_java_session_dd_prefix =
ij_java_session_dd_suffix = EJB
ij_java_session_eb_prefix =
ij_java_session_eb_suffix = Bean
ij_java_session_hi_prefix =
ij_java_session_hi_suffix = Home
ij_java_session_lhi_prefix = Local
ij_java_session_lhi_suffix = Home
ij_java_session_li_prefix = Local
ij_java_session_li_suffix =
ij_java_session_ri_prefix =
ij_java_session_ri_suffix =
ij_java_session_si_prefix =
ij_java_session_si_suffix = Service
ij_java_space_after_closing_angle_bracket_in_type_argument = false
ij_java_space_after_colon = true
ij_java_space_after_comma = true
ij_java_space_after_comma_in_type_arguments = true
ij_java_space_after_for_semicolon = true
ij_java_space_after_quest = true
ij_java_space_after_type_cast = true
ij_java_space_before_annotation_array_initializer_left_brace = false
ij_java_space_before_annotation_parameter_list = false
ij_java_space_before_array_initializer_left_brace = true
ij_java_space_before_catch_keyword = true
ij_java_space_before_catch_left_brace = true
ij_java_space_before_catch_parentheses = true
ij_java_space_before_class_left_brace = true
ij_java_space_before_colon = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_deconstruction_list = false
ij_java_space_before_do_left_brace = true
ij_java_space_before_else_keyword = true
ij_java_space_before_else_left_brace = true
ij_java_space_before_finally_keyword = true
ij_java_space_before_finally_left_brace = true
ij_java_space_before_for_left_brace = true
ij_java_space_before_for_parentheses = true
ij_java_space_before_for_semicolon = false
ij_java_space_before_if_left_brace = true
ij_java_space_before_if_parentheses = true
ij_java_space_before_method_call_parentheses = false
ij_java_space_before_method_left_brace = true
ij_java_space_before_method_parentheses = false
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
ij_java_space_before_quest = true
ij_java_space_before_switch_left_brace = true
ij_java_space_before_switch_parentheses = true
ij_java_space_before_synchronized_left_brace = true
ij_java_space_before_synchronized_parentheses = true
ij_java_space_before_try_left_brace = true
ij_java_space_before_try_parentheses = true
ij_java_space_before_type_parameter_list = false
ij_java_space_before_while_keyword = true
ij_java_space_before_while_left_brace = true
ij_java_space_before_while_parentheses = true
ij_java_space_inside_one_line_enum_braces = false
ij_java_space_within_empty_array_initializer_braces = false
ij_java_space_within_empty_method_call_parentheses = false
ij_java_space_within_empty_method_parentheses = false
ij_java_spaces_around_additive_operators = true
ij_java_spaces_around_annotation_eq = true
ij_java_spaces_around_assignment_operators = true
ij_java_spaces_around_bitwise_operators = true
ij_java_spaces_around_equality_operators = true
ij_java_spaces_around_lambda_arrow = true
ij_java_spaces_around_logical_operators = true
ij_java_spaces_around_method_ref_dbl_colon = false
ij_java_spaces_around_multiplicative_operators = true
ij_java_spaces_around_relational_operators = true
ij_java_spaces_around_shift_operators = true
ij_java_spaces_around_type_bounds_in_type_parameters = true
ij_java_spaces_around_unary_operator = false
ij_java_spaces_inside_block_braces_when_body_is_present = false
ij_java_spaces_within_angle_brackets = false
ij_java_spaces_within_annotation_parentheses = false
ij_java_spaces_within_array_initializer_braces = true
ij_java_spaces_within_braces = false
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_deconstruction_list = false
ij_java_spaces_within_for_parentheses = false
ij_java_spaces_within_if_parentheses = false
ij_java_spaces_within_method_call_parentheses = false
ij_java_spaces_within_method_parentheses = false
ij_java_spaces_within_parentheses = false
ij_java_spaces_within_record_header = false
ij_java_spaces_within_switch_parentheses = false
ij_java_spaces_within_synchronized_parentheses = false
ij_java_spaces_within_try_parentheses = false
ij_java_spaces_within_while_parentheses = false
ij_java_special_else_if_treatment = true
ij_java_static_field_name_prefix =
ij_java_static_field_name_suffix =
ij_java_subclass_name_prefix =
ij_java_subclass_name_suffix = Impl
ij_java_switch_expressions_wrap = on_every_item
ij_java_ternary_operation_signs_on_next_line = false
ij_java_ternary_operation_wrap = on_every_item
ij_java_test_name_prefix =
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = on_every_item
ij_java_use_external_annotations = false
ij_java_use_fq_class_names = false
ij_java_use_relative_indents = true
ij_java_use_single_class_imports = true
ij_java_variable_annotation_wrap = on_every_item
ij_java_visibility = public
ij_java_while_brace_force = always
ij_java_while_on_new_line = false
ij_java_wrap_comments = true
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false
ij_java_wrap_semicolon_after_call_chain = false
[.editorconfig]
ij_editorconfig_align_group_field_declarations = false
ij_editorconfig_space_after_colon = true
ij_editorconfig_space_after_comma = true
ij_editorconfig_space_before_colon = false
ij_editorconfig_space_before_comma = false
ij_editorconfig_spaces_around_assignment_operators = true
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.pom,*.rng,*.tld,*.wadl,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
ij_wrap_on_typing = false
ij_xml_align_attributes = true
ij_xml_align_text = false
ij_xml_attribute_wrap = off
ij_xml_block_comment_add_space = true
ij_xml_block_comment_at_first_column = true
ij_xml_keep_blank_lines = 2
ij_xml_keep_indents_on_empty_lines = false
ij_xml_keep_line_breaks = true
ij_xml_keep_line_breaks_in_text = true
ij_xml_keep_whitespaces = false
ij_xml_keep_whitespaces_around_cdata = preserve
ij_xml_keep_whitespaces_inside_cdata = true
ij_xml_line_comment_at_first_column = true
ij_xml_space_after_tag_name = false
ij_xml_space_around_equals_in_attribute = false
ij_xml_space_inside_empty_tag = true
ij_xml_text_wrap = off
[{*.bash,*.sh,*.zsh}]
indent_size = 2
tab_width = 2
ij_shell_binary_ops_start_line = false
ij_shell_keep_column_alignment_padding = false
ij_shell_minify_program = false
ij_shell_redirect_followed_by_space = false
ij_shell_switch_cases_indented = false
ij_shell_use_unix_line_separator = true
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3
ij_html_align_attributes = true
ij_html_align_text = false
ij_html_attribute_wrap = normal
ij_html_block_comment_add_space = false
ij_html_block_comment_at_first_column = true
ij_html_do_not_align_children_of_min_lines = 0
ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p
ij_html_do_not_indent_children_of_tags = html, body, thead, tbody, tfoot
ij_html_enforce_quotes = false
ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var
ij_html_keep_blank_lines = 2
ij_html_keep_indents_on_empty_lines = false
ij_html_keep_line_breaks = true
ij_html_keep_line_breaks_in_text = true
ij_html_keep_whitespaces = false
ij_html_keep_whitespaces_inside = span, pre, textarea
ij_html_line_comment_at_first_column = true
ij_html_new_line_after_last_attribute = never
ij_html_new_line_before_first_attribute = never
ij_html_quote_style = double
ij_html_remove_new_line_before_tags = br
ij_html_space_after_tag_name = false
ij_html_space_around_equality_in_attribute = false
ij_html_space_inside_empty_tag = false
ij_html_text_wrap = normal
[{*.markdown,*.md}]
ij_markdown_force_one_space_after_blockquote_symbol = true
ij_markdown_force_one_space_after_header_symbol = true
ij_markdown_force_one_space_after_list_bullet = true
ij_markdown_force_one_space_between_words = true
ij_markdown_format_tables = true
ij_markdown_insert_quote_arrows_on_wrap = true
ij_markdown_keep_indents_on_empty_lines = false
ij_markdown_keep_line_breaks_inside_text_blocks = true
ij_markdown_max_lines_around_block_elements = 1
ij_markdown_max_lines_around_header = 1
ij_markdown_max_lines_between_paragraphs = 1
ij_markdown_min_lines_around_block_elements = 1
ij_markdown_min_lines_around_header = 1
ij_markdown_min_lines_between_paragraphs = 1
ij_markdown_wrap_text_if_long = true
ij_markdown_wrap_text_inside_blockquotes = true
[{*.properties,spring.handlers,spring.schemas}]
ij_properties_align_group_field_declarations = false
ij_properties_keep_blank_lines = false
ij_properties_key_value_delimiter = equals
ij_properties_spaces_around_key_value_delimiter = false
[{*.yaml,*.yml}]
indent_size = 2
ij_yaml_align_values_properties = do_not_align
ij_yaml_autoinsert_sequence_marker = true
ij_yaml_block_mapping_on_new_line = false
ij_yaml_indent_sequence_value = true
ij_yaml_keep_indents_on_empty_lines = false
ij_yaml_keep_line_breaks = true
ij_yaml_line_comment_add_space = false
ij_yaml_line_comment_add_space_on_reformat = false
ij_yaml_line_comment_at_first_column = true
ij_yaml_sequence_on_new_line = false
ij_yaml_space_before_colon = false
ij_yaml_spaces_within_braces = true
ij_yaml_spaces_within_brackets = true
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: "Report an Issue"
description: >
Please make sure you're opening the issue on the correct repo;
you've checked to make sure this isn't a duplicate, and checked
on the Discord that there is an issue and not working as intended.
title: "[Issue]"
labels:
- bug
body:
- type: textarea
id: brief-description
attributes:
label: "Brief Description *"
description: |
Please describe the issue in detail.
For more detailed instructions, check out
[our wiki](https://github.com/MegaMek/megamek/wiki/Creating-an-Issue-(Bug-Report%2C-Request-for-Enhancement%2C-Errata)).
1. Provide in-game screenshots if possible.
2. If it's a rules-related issue:
- Specify the rulebook edition
- Include the page number
- Quote the relevant text
placeholder: "Describe the issue here..."
validations:
required: true
- type: textarea
id: steps-to-reproduce
attributes:
label: "3. Steps to Reproduce"
description: "Provide a detailed numbered list of steps."
placeholder: "1. Step one\n2. Step two\n3. Step three"
- type: textarea
id: attached-files
attributes:
label: "Attach Files"
description: "Please provide all the logs from the logs folder (zipped), Custom Units, and you CPNX file."
placeholder: "Drag and drop or click to upload relevant files."
- type: dropdown
id: severity
attributes:
label: "Severity *"
description: "Choose the severity of the bug."
options:
- "Critical (Game-breaking/Crash): The game crashes or a core feature (like saving, loading, or network connection) is completely unusable."
- "High (Major Disruption): A major feature is broken or incorrect, but a workaround exists."
- "Medium (Gameplay Limitation): Non-core functionality is impaired, providing a suboptimal but playable experience."
- "Low (Minor/Nuisance): Minor glitches or cosmetic issues that don't affect gameplay and occur rarely."
validations:
required: true
- type: markdown
attributes:
value: |
## User Environment
For the next sections, go to the "logs" folder. Find the MekHQ.log file and open it with a text editor. The information in the header will be needed.
- type: markdown
attributes:
value: |

- type: input
id: custom-megamek-version
attributes:
label: "MekHQ Suite Version *"
description: "Enter your MekHQ version here"
placeholder: "Example: 0.50.02"
validations:
required: true
- type: input
id: operating-system
attributes:
label: "Operating System *"
description: "Select your operating system"
placeholder: "Please be specific with the OS, e.g. Windows 11, macOS 15 Sequoia, Linux (Ubuntu)"
validations:
required: true
- type: input
id: java-version
attributes:
label: "Java Version *"
description: "Enter the Java version from the .log file"
placeholder: "Example: Java Vendor: Eclipse Adoptium Java Version: 17.0.11"
validations:
required: true
- type: checkboxes
id: final-checks
attributes:
label: "Final Verification"
description: "Please confirm the following before submitting"
options:
- label: "I confirm this is a single, unique issue that hasn't been reported before"
required: true
- label: "I have filled and provided all necessary information above"
required: true
- label: "I have included any and all logs, custom units, and CPNX (save) files"
required: true
- label: "I have asked on MegaMek Discord about this issue"
required: true
- label: "I have confirmed this issue is being opened on the correct repository: MegaMek, MegaMekLab, or MekHQ"
required: true
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: Questions
url: https://discord.gg/megamek
about: If you have questions about the above please ask on the Discord before selecting
- name: MegaMek Wiki
url: https://github.com/MegaMek/megamek/wiki
about: Before opening a new issue, please check the MegaMek Wiki for information.
- name: BattleTech Forums
url: https://bg.battletech.com/forums/index.php?board=29.0
about: Join the discussions and find more information on the official BattleTech Forums.
================================================
FILE: .github/ISSUE_TEMPLATE/request_for_enhancement.yml
================================================
name: "Request for Enhancement"
description: >
Request an enhancement for MekHQ. Be sure you've confirmed it's not a duplicate
and that you've checked on the Discord if your request is already known.
title: "[RFE]"
labels:
- (RFE) Enhancement
body:
- type: dropdown
id: enhancement-type
attributes:
label: "Enhancement Type *"
description: "Select the category of enhancement you are requesting."
options:
- "New Feature"
- "Improvement to Existing Feature"
- "Implementation of Missing Official Rule"
- "Implementation of Errata"
validations:
required: true
- type: textarea
id: brief-description
attributes:
label: "Brief Description of Enhancement *"
description: |
Please describe the feature or improvement you’d like to see.
If it's based on any official rules or errata, mention that here.
placeholder: "Describe your enhancement here..."
validations:
required: true
- type: textarea
id: proposed-use-cases
attributes:
label: "Use Cases or Rationale"
description: |
Elaborate on why this enhancement is needed or valuable:
- What problem does it solve?
- How does it improve gameplay or user experience?
- Are there any related rulebook references or official errata?
placeholder: "1. ...\n2. ...\n3. ..."
- type: textarea
id: attached-files
attributes:
label: "Attach Files"
description: |
Provide any relevant files, images, or logs that illustrate your idea or
help explain how it should work.
placeholder: "Drag and drop or click to upload relevant files."
- type: input
id: custom-megamek-version
attributes:
label: "MekHQ Suite Version *"
description: "Which version of MekHQ (or related tool) are you currently using?"
placeholder: "Example 0.50.02"
validations:
required: true
- type: checkboxes
id: final-checks
attributes:
label: "Final Verification"
description: "Before submitting, please confirm the following:"
options:
- label: "I confirm this request hasn't already been submitted (checked the tracker)"
required: true
- label: "I've discussed or asked about this enhancement on MegaMek Discord"
required: true
- label: "I’m opening this on the correct repo (MegaMek, MegaMekLab, or MekHQ)"
required: true
================================================
FILE: .github/codecov.yml
================================================
# CodeCov.io Configuration
# https://docs.codecov.io/docs/codecovyml-reference
coverage:
status:
project:
default:
target: auto
threshold: 1%
informational: true
patch:
default:
informational: true
fixes:
- "mekhq/::"
ignore:
- "megamek"
- "megameklab"
github_checks:
annotations: false
================================================
FILE: .github/dependabot.yml
================================================
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
================================================
FILE: .github/workflows/checkstyle.yml
================================================
name: Checkstyle
on:
pull_request:
branches: [ main ]
jobs:
checkstyle:
runs-on: ${{ matrix.os }}
outputs:
mmRepo: ${{ steps.find_mm.outputs.mmRepo }}
mmBranch: ${{ steps.find_mm.outputs.mmBranch }}
mmlRepo: ${{ steps.find_mml.outputs.mmRepo }}
mmlBranch: ${{ steps.find_mml.outputs.mmBranch }}
strategy:
matrix:
os: [ ubuntu-latest ]
java-distribution: [ temurin ]
java-version: [ 25 ]
fail-fast: false
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- name: Checkout out MekHQ
uses: actions/checkout@v6
with:
path: mekhq
- name: Find the Right MegaMek Branch
id: find_mm
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megamek.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmRepo=${{ github.event.pull_request.head.repo.owner.login }}/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmRepo=MegaMek/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mm.outputs.mmRepo }}
ref: ${{ steps.find_mm.outputs.mmBranch }}
path: megamek
- name: Find the Right MegaMekLab Branch
id: find_mml
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megameklab.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmlRepo=${{ github.event.pull_request.head.repo.owner.login }}/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmlRepo=MegaMek/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMekLab
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mml.outputs.mmlRepo }}
ref: ${{ steps.find_mml.outputs.mmlBranch }}
path: megameklab
- name: Set up ${{ matrix.java-distribution }} JDK ${{ matrix.java-version }}
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Checkstyle
working-directory: mekhq
run: ./gradlew checkstyleMain checkstyleTest
- name: Upload Test Logs on Failure
uses: actions/upload-artifact@v7
if: failure()
with:
name: cd-failure-logs
path: ./mekhq/MekHQ/build/reports/
================================================
FILE: .github/workflows/ci.yml
================================================
name: MekHQ CI with Gradle
on:
pull_request:
branches: [ main ]
env:
GRADLE_OPTS: "-Dscan.link.VCS=${{ github.event.pull_request.html_url }}"
jobs:
pr_ci:
runs-on: ${{ matrix.os }}
outputs:
mmRepo: ${{ steps.find_mm.outputs.mmRepo }}
mmBranch: ${{ steps.find_mm.outputs.mmBranch }}
mmlRepo: ${{ steps.find_mml.outputs.mmRepo }}
mmlBranch: ${{ steps.find_mml.outputs.mmBranch }}
strategy:
matrix:
os: [ ubuntu-latest ]
java-distribution: [ temurin ]
java-version: [ 21, 25 ]
fail-fast: false
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- name: Checkout out MekHQ
uses: actions/checkout@v6
with:
path: mekhq
- name: Find the Right MegaMek Branch
id: find_mm
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megamek.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmRepo=${{ github.event.pull_request.head.repo.owner.login }}/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmRepo=MegaMek/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mm.outputs.mmRepo }}
ref: ${{ steps.find_mm.outputs.mmBranch }}
path: megamek
- name: Add MM Hash
run: |
cd megamek
calculatedSha=$(git rev-parse HEAD)
echo "$calculatedSha" >> megamek/docs/mm-revision.txt
- name: Find the Right MegaMekLab Branch
id: find_mml
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megameklab.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmlRepo=${{ github.event.pull_request.head.repo.owner.login }}/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmlRepo=MegaMek/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMekLab
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mml.outputs.mmlRepo }}
ref: ${{ steps.find_mml.outputs.mmlBranch }}
path: megameklab
- name: Add MML Hash
run: |
cd megameklab
calculatedSha=$(git rev-parse HEAD)
echo "$calculatedSha" >> megameklab/docs/mml-revision.txt
- name: Set up ${{ matrix.java-distribution }} JDK ${{ matrix.java-version }}
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
- name: Set short git commit SHA
id: vars
run: |
cd mekhq
calculatedSha=$(git rev-parse --short ${{ github.sha }})
echo "COMMIT_SHORT_SHA=$calculatedSha" >> $GITHUB_ENV
- name: "Output branch information to Version file"
run: |
echo "branch=PR-${{ github.event.number }}" >> megamek/megamek/resources/extraVersion.properties
echo "gitHash=${{ env.COMMIT_SHORT_SHA }}" >> megamek/megamek/resources/extraVersion.properties
- name: Add MHQRevision file
run: |
echo ${{ github.sha }} >> mekhq/MekHQ/mhq-revision.txt
- name: Test All
working-directory: mekhq
run: ./gradlew testAll --stacktrace --scan -i --continue -x checkstyleMain -x checkstyleTest
env:
mm.profile: dev
- name: Upload Test Logs on Failure
uses: actions/upload-artifact@v7
if: failure()
with:
name: cd-failure-logs
path: ./mekhq/MekHQ/build/reports/
overwrite: true
- name: Build with Gradle
working-directory: mekhq
run: ./gradlew build -x test -PextraVersion="PR-${{ github.event.number }}-${{ env.COMMIT_SHORT_SHA }}"
- name: CodeCov.io Coverage Report
uses: codecov/codecov-action@v6
with:
directory: ./mekhq/MekHQ/build/reports/jacoco/test
fail_ci_if_error: false
verbose: true
- name: Upload Tar GZ Artifact
uses: actions/upload-artifact@v7
with:
name: mhq-release-tgz-${{ matrix.java-distribution }}-jdk${{ matrix.java-version }}
path: mekhq/MekHQ/build/distributions/*.tar.gz
================================================
FILE: .github/workflows/code-coverage.yml
================================================
name: MekHQ CI with Code Coverage
on:
push:
branches: [ main ]
env:
GRADLE_OPTS: "-Dscan.link.VCS=https://github.com/MegaMek/mekhq/commit/${{ github.sha }}"
jobs:
code_coverage:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest ]
java-distribution: [ temurin ]
java-version: [ 21, 25 ]
fail-fast: false
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- uses: actions/checkout@v6
with:
path: mekhq
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: MegaMek/megamek
path: megamek
- name: Checkout MegaMekLab
uses: actions/checkout@v6
with:
repository: MegaMek/megameklab
path: megameklab
- name: Set up ${{ matrix.java-distribution }} JDK ${{ matrix.java-version }}
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
- name: Build with Gradle
working-directory: mekhq
run: ./gradlew test
- name: Upload Test Logs on Failure
uses: actions/upload-artifact@v7
if: failure()
with:
name: cd-failure-logs
path: ./mekhq/MekHQ/build/reports/
- name: CodeCov.io Coverage Report
uses: codecov/codecov-action@v6
with:
directory: ./mekhq/MekHQ/build/reports/jacoco/test
fail_ci_if_error: false
verbose: true
================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
name: "CodeQL"
permissions:
security-events: write
contents: read
actions: read
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
analyze:
name: Analyze
strategy:
matrix:
os: [ ubuntu-latest ]
java-distribution: [ temurin ]
java-version: [ 21 ]
fail-fast: false
runs-on: ${{ matrix.os }}
outputs:
mmRepo: ${{ steps.find_mm.outputs.mmRepo }}
mmBranch: ${{ steps.find_mm.outputs.mmBranch }}
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- name: Find the Right MegaMek Branch
id: find_mm
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megamek.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmRepo=${{ github.event.pull_request.head.repo.owner.login }}/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmRepo=MegaMek/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mm.outputs.mmRepo }}
ref: ${{ steps.find_mm.outputs.mmBranch }}
path: megamek
- name: Find the Right MegaMekLab Branch
id: find_mml
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megameklab.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmlRepo=${{ github.event.pull_request.head.repo.owner.login }}/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmlRepo=MegaMek/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMekLab
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mml.outputs.mmlRepo }}
ref: ${{ steps.find_mml.outputs.mmlBranch }}
path: megameklab
- name: "Check out MekHQ"
uses: actions/checkout@v6
with:
path: mekhq
- name: Set up ${{ matrix.java-distribution }} JDK ${{ matrix.java-version }}
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: "Show Ref and SHA"
run: |
echo "Ref: ${{ github.ref }}"
echo "SHA: ${{ github.sha }}"
echo "Event Name: ${{ github.event_name }}"
echo "Event Action: ${{ github.event.action }}"
echo "Event Pull Request: ${{ github.event.pull_request }}"
echo "Event Pull Request Head: ${{ github.event.pull_request.head }}"
echo "Event Pull Request Head SHA: ${{ github.event.pull_request.head.sha }}"
echo "Event Pull Request Head Ref: ${{ github.event.pull_request.head.ref }}"
- name: Initialize CodeQL
uses: github/codeql-action/init@v4
with:
languages: java-kotlin
build-mode: none
queries: security-and-quality
source-root: mekhq
dependency-caching: true
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
with:
checkout_path: mekhq
sha: ${{ github.event.pull_request.head.sha || github.sha}}
ref: ${{ github.ref }}
================================================
FILE: .github/workflows/dependency-scan.yml
================================================
name: Gradle Dependency Submission
on:
push:
branches:
- main
jobs:
dependency-submission:
runs-on: ubuntu-latest
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- name: "Check out MekHQ"
uses: actions/checkout@v6
with:
path: MekHQ
- name: "Check out MegaMekLab"
uses: actions/checkout@v6
with:
repository: MegaMek/megameklab
ref: main
path: megameklab
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: MegaMek/megamek
ref: main
path: megamek
- name: Set up Temurin JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Generate and submit dependency graph
uses: gradle/actions/dependency-submission@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
build-root-directory: MekHQ
================================================
FILE: .github/workflows/java-doc-pr.yml
================================================
name: JavaDoc Generation
on:
pull_request:
branches: [ main ]
env:
GRADLE_OPTS: "-Dscan.link.VCS=${{ github.event.pull_request.html_url }}"
jobs:
java_doc_pr:
runs-on: ubuntu-latest
outputs:
mmRepo: ${{ steps.find_mm.outputs.mmRepo }}
mmBranch: ${{ steps.find_mm.outputs.mmBranch }}
mmlRepo: ${{ steps.find_mml.outputs.mmRepo }}
mmlBranch: ${{ steps.find_mml.outputs.mmBranch }}
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- name: Checkout out MekHQ
uses: actions/checkout@v6
with:
path: mekhq
- name: Find the Right MegaMek Branch
id: find_mm
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megamek.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmRepo=${{ github.event.pull_request.head.repo.owner.login }}/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmRepo=MegaMek/megamek" >> $GITHUB_OUTPUT
echo "mmBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mm.outputs.mmRepo }}
ref: ${{ steps.find_mm.outputs.mmBranch }}
path: megamek
- name: Find the Right MegaMekLab Branch
id: find_mml
shell: bash {0}
run: |
git ls-remote --exit-code --heads ${{ github.event.pull_request.head.repo.owner.html_url }}/megameklab.git ${{ github.event.pull_request.head.ref }}
if [ "$?" == "0" ]
then
echo "mmlRepo=${{ github.event.pull_request.head.repo.owner.login }}/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=${{ github.event.pull_request.head.ref }}" >> $GITHUB_OUTPUT
else
echo "mmlRepo=MegaMek/megameklab" >> $GITHUB_OUTPUT
echo "mmlBranch=main" >> $GITHUB_OUTPUT
fi
exit 0
- name: Checkout MegaMekLab
uses: actions/checkout@v6
with:
repository: ${{ steps.find_mml.outputs.mmlRepo }}
ref: ${{ steps.find_mml.outputs.mmlBranch }}
path: megameklab
- name: Set up Temurin JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
- name: Build with Gradle
working-directory: mekhq
run: ./gradlew javadoc
================================================
FILE: .github/workflows/java-doc.yml
================================================
name: JavaDoc Generation
on:
push:
branches: [ "main" ]
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
jobs:
java_doc:
runs-on: ubuntu-latest
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- name: "Check out MekHQ"
uses: actions/checkout@v6
with:
path: MekHQ
- name: "Check out MegaMekLab"
uses: actions/checkout@v6
with:
repository: MegaMek/megameklab
ref: main
path: megameklab
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: MegaMek/megamek
ref: main
path: megamek
- name: Set up Temurin JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
- name: Build with Gradle
working-directory: MekHQ
run: ./gradlew javadoc
- name: Upload static files as artifact
id: deployment
uses: actions/upload-pages-artifact@v5 # or specific "vX.X.X" version tag for this action
with:
path: MekHQ/MekHQ/build/docs/javadoc
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: java_doc
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v5
================================================
FILE: .github/workflows/nightly-ci.yml
================================================
name: MekHQ Nightly CI
on:
workflow_dispatch:
schedule:
- cron: "0 3 * * *"
env:
GRADLE_OPTS: "-Dscan.link.VCS=https://github.com/MegaMek/mekhq/commit/${{ github.sha }}"
jobs:
nightly_ci:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest ]
java-distribution: [ temurin ]
java-version: [ 21, 25 ]
fail-fast: false
name: Nightly MekHQ CI ${{ matrix.os }} on ${{ matrix.java-distribution }} JDK ${{ matrix.java-version }}
steps:
- name: Checkout Data Repo
uses: actions/checkout@v6
with:
repository: megamek/mm-data
path: mm-data
- uses: actions/checkout@v6
with:
path: mekhq
- name: Checkout MegaMek
uses: actions/checkout@v6
with:
repository: MegaMek/megamek
path: megamek
- name: Add MM Hash
run: |
cd megamek
calculatedSha=$(git rev-parse HEAD)
echo "$calculatedSha" >> megamek/docs/mm-revision.txt
- name: Checkout MegaMekLab
uses: actions/checkout@v6
with:
repository: MegaMek/megameklab
path: megameklab
- name: Add MML Hash
run: |
cd megameklab
calculatedSha=$(git rev-parse HEAD)
echo "$calculatedSha" >> megameklab/docs/mml-revision.txt
- name: Set up ${{ matrix.java-distribution }} JDK ${{ matrix.java-version }}
uses: actions/setup-java@v5
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
with:
build-scan-publish: true
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
build-scan-terms-of-use-agree: "yes"
- name: Add MHQRevision file
run: |
echo ${{ github.sha }} >> mekhq/MekHQ/mhq-revision.txt
- name: Set short git commit SHA
id: vars
run: |
cd mekhq
calculatedSha=$(git rev-parse --short ${{ github.sha }})
echo "COMMIT_SHORT_SHA=$calculatedSha" >> $GITHUB_ENV
- name: "Output branch information to Version file"
run: |
echo "branch=nightly" >> megamek/megamek/resources/extraVersion.properties
echo "gitHash=$(date +'%Y-%m-%d')" >> megamek/megamek/resources/extraVersion.properties
- name: Test All
working-directory: mekhq
run: ./gradlew testAll
- name: Upload Test Logs on Failure
uses: actions/upload-artifact@v7
if: failure()
with:
name: cd-failure-logs
path: ./mekhq/MekHQ/build/reports/
- name: Build with Gradle
working-directory: mekhq
run: ./gradlew build -x test -PextraVersion="nightly-$(date +'%Y-%m-%d')"
- name: CodeCov.io Coverage Report
uses: codecov/codecov-action@v6
with:
directory: ./mekhq/MekHQ/build/reports/jacoco/test
fail_ci_if_error: false
verbose: true
- name: Upload Tar GZ Artifact
uses: actions/upload-artifact@v7
with:
name: mhq-release-tgz-${{ matrix.java-distribution }}-jdk${{ matrix.java-version }}
path: mekhq/MekHQ/build/distributions/*.tar.gz
================================================
FILE: .gitignore
================================================
# These are all in alphabetical file system display order
/.claude/
/.gradle/
/.idea/
/.recommenders/
/.settings/
/bin/
/build/
/logs/
/MekHQ/.gradle/
/MekHQ/.idea/
/MekHQ/.settings/
/MekHQ/bin/
/MekHQ/build/
/MekHQ/campaigns/*
!/MekHQ/campaigns/archive
!/MekHQ/campaigns/archive/**
!/MekHQ/campaigns/The Learning Ropes.cpnx.gz
/MekHQ/classes/
/MekHQ/data/images/awards/
!/MekHQ/data/images/awards/standard/
/MekHQ/data/images/temp/
/MekHQ/data/mekfiles/units.cache
/MekHQ/data/mekfiles/customs/
/MekHQ/data/universe/awards/
!/MekHQ/data/universe/awards/standard.xml
/MekHQ/logs/
/MekHQ/mmconf/clientsettings.xml
/MekHQ/mmconf/gameoptions.xml
/MekHQ/mmconf/*.preferences
/MekHQ/mmconf/*.properties
/MekHQ/mmconf/searches/*.json
/MekHQ/mmconf/recent-advanced-searches.json
/MekHQ/out/
/MekHQ/pkgdir/
/MekHQ/savegames/
/MekHQ/userdata/**
!/MekHQ/userdata/README.md
!/MekHQ/userdata/data/
/MekHQ/userdata/data/**
!/MekHQ/userdata/data/universe/
/MekHQ/userdata/data/universe/**
!/MekHQ/userdata/data/universe/financialInstitutions.xml
!/MekHQ/userdata/data/universe/ranks.xml
/MekHQ/.classpath
/MekHQ/.editorconfig
/MekHQ/.project
/MekHQ/MekHQ.iml
/MekHQ/MekHQ.jar
/MekHQ/*.mul
/MekHQ/*.zip
/MekHQ/*.tar.gz
/MekHQ/*.tar.bz2
/MekHQ/*.blame
/out/
/RemoteSystemsTempFiles/
/.classpath
/.metadata
/.project
/.vscode
/properties_local.gradle
/settings_local.gradle
/*.sav.gz
.DS_Store
.vs
MegaMek.l4j.ini
MegaMekLab.l4j.ini
MekHQ.l4j.ini
mhq-revision.txt
/MekHQ/docs/OfficialUnitList.txt
*.iml
/MekHQ/docs/README.md
/MekHQ/docs/LICENSE*
/MekHQ/data
================================================
FILE: .mailmap
================================================
Adam Brant <adam.brant@gmail.com> Adam Brant <31824363+LaserEye32@users.noreply.github.com>
Akjosch <development@akjosch.de> Akjosch <Akjosch@users.noreply.github.com>
arlith <arlith@users.noreply.github.com> <Arlith@users.noreply.github.com>
arlith <arlith@users.noreply.github.com> arlith <arlith@users.sourceforge.net>
arlith <arlith@users.noreply.github.com> Nicholas Walczak <nwalczak@bbn.com>
arlith <arlith@users.noreply.github.com> Nicholas Walczak <arlith@users.noreply.github.com>
beerockxs <sebastian@brocks.cc> Sebastian Brocks <sebastian@brocks.cc>
BLOODWOLF333 <catlinross@hotmail.com> BLOODWOLF <CATLINROSS@HOTMAIL.COM>
BLOODWOLF333 <catlinross@hotmail.com> Carr <CATLINROSS@HOTMAIL.COM>
Carl Spain <neoancient@megamek.org> <neoancient.bt@gmail.com>
Carl Spain <neoancient@megamek.org> <neoancient@4d104363-cc00-4a03-b0b8-302e3804504c>
Carl Spain <neoancient@megamek.org> neoancient <neoancient@megamek.org>
Christopher Watford <christopher.watford@gmail.com> Christopher <christopher.watford@gmail.com>
Cord Awtry <cord.awtry@gmail.com> <kipsta@gmail.com>
Deric Page <dericpage@users.noreply.github.com> <Deric Page>
Deric Page <dericpage@users.noreply.github.com> <dericpage@4d104363-cc00-4a03-b0b8-302e3804504c>
Deric Page <dericpage@users.noreply.github.com> <deric.page@nisc.coop>
Deric Page <dericpage@users.noreply.github.com> <deric.page@usa.net>
Deric Page <dericpage@users.noreply.github.com> <dericpage@users.sourceforge.net>
Dylan Myers <Dylan-M@users.noreply.github.com> Dylan Myers <dylan.myers@bluemedora.com>
Dylan Myers <Dylan-M@users.noreply.github.com> Dylan Myers <ralgith@gmail.com>
Hammer-GS <HammerGS@users.noreply.github.com> <hammer-gs@4d104363-cc00-4a03-b0b8-302e3804504c>
Hammer-GS <HammerGS@users.noreply.github.com> HammerGS <driving@hotmail.com>
Hammer-GS <HammerGS@users.noreply.github.com> Dave N <HammerGS@users.noreply.github.com>
Hammer-GS <HammerGS@users.noreply.github.com> drivi <drivi@DESKTOP-T0L0AGJ>
Hammer-GS <HammerGS@users.noreply.github.com> Hammer <drivingguy@hotmail.com>
Hammer-GS <HammerGS@users.noreply.github.com> HammerGS <drivingguy@hotmail.com>
Hammer-GS <HammerGS@users.noreply.github.com> Hammer-GS <drivingguy@hotmail.com>
Hammer-GS <HammerGS@users.noreply.github.com> Hammer-GS <hammer-gs@users.sourceforge.net>
jayof9s <jayof9s@gmail.com> <jayof9s@4d104363-cc00-4a03-b0b8-302e3804504c>
jayof9s <jayof9s@gmail.com> Alex <jayof9s@gmail.com>
MKerensky <magnusmd@hotmail.com> Magnus Kerensky <magnusmd@hotmail.com>
MKerensky <magnusmd@hotmail.com> mkerensky <magnusmd@hotmail.com>
Qwertronix <dafranker@gmail.com> DaFranker <dafranker@gmail.com>
SJuliez <juliez@outlook.de> Simon <juliez@outlook.de>
Xenon <elementx54@github.com> Xenon <elementx54@gmail.com>
Xenon <elementx54@github.com> Xenon <elementx54@users.noreply.github.com>
Xenon <elementx54@github.com> Xenon54z <elementx54@gmail.com>
================================================
FILE: CODEOWNERS
================================================
* @MegaMek/mekhq
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for
everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity
and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste,
color, religion, or sexual identity and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
* Focusing on what is best not just for us as individuals, but for the overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or advances of any kind
* Trolling, insulting, or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address, without their explicit permission
* Other conduct, which could reasonably be considered inappropriate in a professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take
appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for
moderation decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces and also applies when an individual is officially representing
the community in public spaces. Examples of representing our community include using an official email address, posting
via an official social media account, or acting as an appointed representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible
for enforcement at <megamekteam@gmail.com>. All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem
in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the
community.
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation
and an explanation of why the behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series of actions.
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including
unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding
interactions in community spaces as well as external channels like social media. Violating these terms may lead to a
temporary or permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified
period of time. No public or private interaction with the people involved, including unsolicited interaction with those
enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate
behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ
at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].
[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
================================================
FILE: CONTRIBUTORS.md
================================================
# Authors and Contributors
We are grateful for all the contributions we have received over the years and wanted to make sure we included all
possible ones.
## Original author
Jay Lawson <jaylawson39@yahoo.com>
## Current Maintainer
MegaMek GitHub Organization <https://github.com/MegaMek> with the main [MegaMek](https://megamek.org)
## How we generated this list
This list is taken from the API, filtered to just pull the login name and GitHub URL, sorted, then added here. The
commands that were used to
generate this list are as follows:
```bash
gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" '/repos/megamek/mekhq/stats/contributors' > contributors.json
```
From this list, we used `irb` (Interactive Ruby) to process and output that is below:
```ruby
contrib = JSON.parse(File.read('contributors.json'))
filter = contrib.filter_map { |record| [record['author']['login'], record['author']['html_url']] unless record == nil || record['author'] == nil }
filter.sort_by { |user, _| user }.each { |user_name, url| puts "- #{user_name} <#{url}>\n" }
```
## Contributors
Last updated: 2025-05-19
- AaronGullickson <https://github.com/AaronGullickson>
- Akjosch <https://github.com/Akjosch>
- Algebro7 <https://github.com/Algebro7>
- BLOODWOLF333 <https://github.com/BLOODWOLF333>
- BlindGuyNW <https://github.com/BlindGuyNW>
- Bonepart <https://github.com/Bonepart>
- BullseyeSmith <https://github.com/BullseyeSmith>
- ChaoticInsanity <https://github.com/ChaoticInsanity>
- DM0000 <https://github.com/DM0000>
- Dark-Hobbit <https://github.com/Dark-Hobbit>
- Dylan-M <https://github.com/Dylan-M>
- HammerGS <https://github.com/HammerGS>
- HoneySkull <https://github.com/HoneySkull>
- IllianiBird <https://github.com/IllianiBird>
- Krashner <https://github.com/Krashner>
- Kurios <https://github.com/Kurios>
- LadyAdia <https://github.com/LadyAdia>
- Lapras <https://github.com/Lapras>
- LaserEye32 <https://github.com/LaserEye32>
- NickAragua <https://github.com/NickAragua>
- ObviousTech <https://github.com/ObviousTech>
- Qwertronix <https://github.com/Qwertronix>
- RAldrich <https://github.com/RAldrich>
- Rewstyr <https://github.com/Rewstyr>
- RexPearce <https://github.com/RexPearce>
- SJuliez <https://github.com/SJuliez>
- Saklad5 <https://github.com/Saklad5>
- Scoppio <https://github.com/Scoppio>
- Setsul <https://github.com/Setsul>
- Skoraks <https://github.com/Skoraks>
- Sleet01 <https://github.com/Sleet01>
- Taharqa <https://github.com/Taharqa>
- TenkawaBC <https://github.com/TenkawaBC>
- Thom293 <https://github.com/Thom293>
- UlyssesSockdrawer <https://github.com/UlyssesSockdrawer>
- UrsKR <https://github.com/UrsKR>
- VicenteCartas <https://github.com/VicenteCartas>
- WeaverThree <https://github.com/WeaverThree>
- Windchild292 <https://github.com/Windchild292>
- arlith <https://github.com/arlith>
- aunoor <https://github.com/aunoor>
- azure-pipelines[bot] <https://github.com/apps/azure-pipelines>
- bandildo <https://github.com/bandildo>
- binaryspica <https://github.com/binaryspica>
- dantmurph <https://github.com/dantmurph>
- dependabot[bot] <https://github.com/apps/dependabot>
- dericpage <https://github.com/dericpage>
- dtsosie <https://github.com/dtsosie>
- firefly2442 <https://github.com/firefly2442>
- fmoody <https://github.com/fmoody>
- gcoopercos <https://github.com/gcoopercos>
- giorgiga <https://github.com/giorgiga>
- goron111 <https://github.com/goron111>
- jackreichelt <https://github.com/jackreichelt>
- jayof9s <https://github.com/jayof9s>
- joshua-plautz <https://github.com/joshua-plautz>
- jschmetzer <https://github.com/jschmetzer>
- kipstafoo <https://github.com/kipstafoo>
- kuronekochomusuke <https://github.com/kuronekochomusuke>
- laptopsftw <https://github.com/laptopsftw>
- luiges90 <https://github.com/luiges90>
- mkerensky <https://github.com/mkerensky>
- mstjohn <https://github.com/mstjohn>
- nderwin <https://github.com/nderwin>
- neoancient <https://github.com/neoancient>
- nutritiousemployee <https://github.com/nutritiousemployee>
- pavelbraginskiy <https://github.com/pavelbraginskiy>
- pheonixstorm <https://github.com/pheonixstorm>
- psikomonkie <https://github.com/psikomonkie>
- repligator <https://github.com/repligator>
- rjhancock <https://github.com/rjhancock>
- savanik <https://github.com/savanik>
- sixlettervariables <https://github.com/sixlettervariables>
- slater-jay <https://github.com/slater-jay>
- sldfgunslinger2766 <https://github.com/sldfgunslinger2766>
- stonewall072 <https://github.com/stonewall072>
- swang300 <https://github.com/swang300>
- tombloor <https://github.com/tombloor>
- wildj79 <https://github.com/wildj79>
================================================
FILE: LICENSE
================================================
# MekHQ Licensing Information
This document provides detailed information about the licensing of the MekHQ project.
## License Overview
MekHQ uses a dual-licensing approach:
1. **GNU General Public License v3.0 (GPLv3)** for all code
2. **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC-BY-NC-SA-4.0)** for all game data and assets
## Code License Details
All source code in the MegaMek, MegaMekLab, and MekHQ repositories is licensed under GPLv3.
**What this means:**
- You can use, modify, and distribute the code
- Any modifications or derivative works must also be licensed under GPLv3
- You must provide source code for any distributed modifications
- The code has patent protection provisions
- Full license text: [LICENSE.code](LICENSE.code)
**Applies to:**
- All `.java` files
- Build scripts and configuration files
- Any other program code
## Data/Assets License Details
All game data, artwork, and other non-code assets are licensed under CC-BY-NC-4.0.
**What this means:**
- You can share and adapt the materials
- You must give appropriate credit to the MegaMek project
- You cannot use the materials for commercial purposes
- You can license your derivatives under different terms as long as they remain non-commercial
- Full license text: [LICENSE.assets](LICENSE.assets)
**Applies to:**
- Unit data files
- Artwork and images
- Sound files
- Scenario data
- Game text and descriptions
- Any other non-code assets
## Repository Structure
The licenses apply to the following directory structures:
- `/mekhq/src/mekhq` directories: GPLv3
- `/mekhq/data` directories: CC-BY-NC-4.0
- `/mekhq/docs` directories: CC-BY-NC-4.0
- `/mekhq/resources` directories: CC-BY-NC-4.0
## Intellectual Property Notices
MegaMek is an unofficial, fan-created digital adaptation and is not affiliated with, endorsed by, or licensed by
Microsoft Corporation, The Topps Company, Inc., or Catalyst Game Labs.
MechWarrior, BattleMech, 'Mech and AeroTech are registered trademarks of The Topps Company, Inc. All Rights Reserved.
Catalyst Game Labs and the Catalyst Game Labs logo are trademarks of InMediaRes Productions, LLC.
The BattleTech name for electronic games is a trademark of Microsoft Corporation.
## Streams & Content Creators
We know many of you share your MegaMek experiences through videos and streams, and we want to ensure you can continue
doing so without concerns.
Despite the non-commercial clause in our new CC-BY-NC-SA-4.0 license, **we explicitly grant permission for content
creators to monetize videos and streams featuring MegaMek gameplay. This includes ads, donations, subscriptions,
sponsorships, and platform partner programs**
The key distinction is simple: you're monetizing your creative work about MegaMek (commentary, tutorials, entertainment),
not our game data itself. A YouTube channel about MegaMek tactics with ads is perfectly fine. A website that hosts our
unit stats with ads or premium subscriptions is not allowed.
What's not permitted are monetized websites, apps, or services built primarily on MegaMek game data - things like
commercial army builders, paid reference apps, or subscription-based unit databases. These uses violate both our license
and Microsoft's Game Content Usage Rules for BattleTech content.
This permission for content monetization will be maintained in our official licensing policy. We value content creators
who help grow our community and want to protect the project's standing as a non-commercial fan work.
## Historical License Information
Prior to version 0.50.07, MegaMek and MegaMekLab were licensed under GNU General Public License v2.0 or later (GPLv2+).
MekHQ was already using GPLv3. The transition to the current licensing structure was implemented with the release of
version 0.50.07.
## Contributing
By contributing to the MekHQ project, you agree that:
- Code contributions will be licensed under GPLv3
- Data and asset contributions will be licensed under CC-BY-NC-SA-4.0
See our [CONTRIBUTING.md](CONTRIBUTING.md) document for more details about the contribution process.
## Questions
If you have any questions about licensing, please contact the project administrators or post your question in our
Discord server.
================================================
FILE: LICENSE.assets
================================================
Attribution-NonCommercial-ShareAlike 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-NonCommercial-ShareAlike 4.0 International Public License
("Public License"). To the extent this Public License may be
interpreted as a contract, You are granted the Licensed Rights in
consideration of Your acceptance of these terms and conditions, and the
Licensor grants You such rights in consideration of benefits the
Licensor receives from making the Licensed Material available under
these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-NC-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution, NonCommercial, and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. NonCommercial means not primarily intended for or directed towards
commercial advantage or monetary compensation. For purposes of
this Public License, the exchange of the Licensed Material for
other material subject to Copyright and Similar Rights by digital
file-sharing or similar means is NonCommercial provided there is
no payment of monetary compensation in connection with the
exchange.
l. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
m. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
n. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part, for NonCommercial purposes only; and
b. produce, reproduce, and Share Adapted Material for
NonCommercial purposes only.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.
c. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties, including when
the Licensed Material is used other than for NonCommercial
purposes.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.
1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-NC-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database for NonCommercial purposes
only;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
================================================
FILE: LICENSE.code
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
================================================
FILE: MHQMorale-Simulation-Analysis.txt
================================================
================================================================================
MHQMorale Logic Error Analysis - Simulation Walkthrough
================================================================================
Date: 2025-11-21
Analyst: Code Review
File: MekHQ/src/mekhq/campaign/mission/MHQMorale.java
Issue: Player feedback indicates morale changes are inconsistent and unpredictable
================================================================================
EXECUTIVE SUMMARY
================================================================================
ROOT CAUSE IDENTIFIED: Pyrrhic Victory Bug (Line 466)
Current code counts Pyrrhic Victories as DEFEATS ONLY, when they should count
as BOTH victories AND defeats (a costly win). This causes:
1. Morale moving in WRONG direction (OpFor improves when player wins)
2. Morale changing TOO SLOWLY when player wins (missing victory points)
3. Morale changing TOO QUICKLY when player loses (inflated defeat counts)
4. Morale NOT MOVING at all (artificial ties from miscounting)
IMPACT: In a 20-scenario contract with 14 wins and 6 losses (70% win rate),
the code calculates 10 wins and 12 losses (45% win rate) - a 25% error!
================================================================================
SIMULATION SETUP
================================================================================
Contract Parameters:
- Start Date: January 1, 3025
- Duration: 5 months (20 scenarios, 4 per month)
- Initial Morale Level: STALEMATE
- Enemy Faction: Regular-skilled Mercenaries (not Clan)
- Enemy Skill: Regular (adjusted value = 4)
Reliability Modifier Calculation (Constant):
Base modifier for Regular skill (4): 0
Enemy is Mercenary: +1 modifier (easier to break)
Final Reliability Modifier: +1
Morale Check Modifiers Used:
- Decisive Victory Modifier: -4
- Victory Modifier: -2
- Defeat Modifier: +2
- Decisive Defeat Modifier: +4
================================================================================
MONTH 1: JANUARY (4 Scenarios)
================================================================================
Starting Morale: STALEMATE
--- Scenario 1 (Jan 8): VICTORY ---
Code execution (line 471):
if (scenarioStatus.isOverallVictory()) {
victories++; // victories = 1
}
Running tally: victories=1, defeats=0
--- Scenario 2 (Jan 15): PYRRHIC VICTORY ---
Code execution (line 466):
if (scenarioStatus.isPyrrhicVictory() || scenarioStatus.isFleetInBeing()) {
defeats++; // defeats = 1
continue; // SKIPS victory check - BUG!
}
[!] BUG ALERT: Pyrrhic Victory counted as defeat only!
Expected: victories=2, defeats=1
Actual: victories=1, defeats=1
--- Scenario 3 (Jan 22): DECISIVE VICTORY ---
Code execution (line 461):
if (scenarioStatus.isDecisiveVictory()) {
victories += 2; // victories = 3
}
Running tally: victories=3, defeats=1
--- Scenario 4 (Jan 29): DEFEAT ---
Code execution (line 473):
else if (scenarioStatus.isOverallDefeat()) {
defeats++; // defeats = 2
}
Running tally: victories=3, defeats=2
--- End of Month Morale Check (Jan 31) ---
Performance Modifier Calculation (lines 482-487):
victories (3) > defeats (2)
3 >= 2*2? NO (need 4+ for decisive)
Performance Modifier = -2 (normal victory)
Target Number:
Reliability: +1
Performance: -2
Total: -1
Morale Roll:
2d6 Roll: 7
Modified Roll: 7 + (-1) = 6
Morale Outcome (line 239):
6 <= RALLYING_TARGET_NUMBER (6)? YES
Outcome: RALLYING
Morale Change: STALEMATE -> ADVANCING
[!] ISSUE #1: Player won 3 scenarios (including decisive) and lost 2,
but OpFor morale IMPROVED! Feels backwards.
Root Cause: Missing Pyrrhic Victory victory point made it 3-2 instead
of the actual 4-2, reducing the performance modifier.
Month 1 Result: STALEMATE -> ADVANCING (OpFor morale improved)
================================================================================
MONTH 2: FEBRUARY (4 Scenarios)
================================================================================
Starting Morale: ADVANCING
--- Scenario 5 (Feb 5): PYRRHIC VICTORY ---
Running tally: victories=0, defeats=1
[!] BUG: Should be victories=1, defeats=1
--- Scenario 6 (Feb 12): VICTORY ---
Running tally: victories=1, defeats=1
--- Scenario 7 (Feb 19): PYRRHIC VICTORY ---
Running tally: victories=1, defeats=2
[!] BUG: Should be victories=2, defeats=2
--- Scenario 8 (Feb 26): VICTORY ---
Running tally: victories=2, defeats=2
--- End of Month Morale Check (Feb 28) ---
Performance Modifier Calculation:
victories (2) == defeats (2)
Neither victories > defeats nor defeats > victories
Performance Modifier = 0 (DRAW)
Target Number:
Reliability: +1
Performance: 0
Total: +1
Morale Roll:
2d6 Roll: 7
Modified Roll: 7 + 1 = 8
Morale Outcome (line 249):
8 >= WAVERING_TARGET_NUMBER (8)? YES
Outcome: WAVERING
Morale Change: ADVANCING -> STALEMATE
[!] ISSUE #2: Player won 4 scenarios (2 normal, 2 pyrrhic) and lost 0,
but performance calculated as TIE.
Expected: 4-0 = decisive victory modifier
Actual: 2-2 = no modifier (draw)
Player Experience: "I won 4 battles and morale barely moved!"
Month 2 Result: ADVANCING -> STALEMATE (OpFor morale degraded slightly)
================================================================================
MONTH 3: MARCH (4 Scenarios)
================================================================================
Starting Morale: STALEMATE
--- Scenario 9 (Mar 5): DECISIVE DEFEAT ---
Running tally: victories=0, defeats=2
--- Scenario 10 (Mar 12): VICTORY ---
Running tally: victories=1, defeats=2
--- Scenario 11 (Mar 19): DEFEAT ---
Running tally: victories=1, defeats=3
--- Scenario 12 (Mar 26): PYRRHIC VICTORY ---
Running tally: victories=1, defeats=4
[!] BUG: Should be victories=2, defeats=4
--- End of Month Morale Check (Mar 31) ---
Performance Modifier Calculation:
defeats (4) > victories (1)
4 >= 1*2? YES
Performance Modifier = +4 (decisive defeat)
Target Number:
Reliability: +1
Performance: +4
Total: +5
Morale Roll:
2d6 Roll: 5
Modified Roll: 5 + 5 = 10
Morale Outcome:
10 >= WAVERING_TARGET_NUMBER (8)? YES
Outcome: WAVERING
Morale Change: STALEMATE -> WEAKENED
[!] ISSUE #3: Month had 1 decisive defeat and 1 regular defeat, but
Pyrrhic Victory made it look WORSE (4 defeats vs 3).
Expected Performance: +2 (regular defeat, since 3 < 2*2)
Actual Performance: +4 (decisive defeat)
Month 3 Result: STALEMATE -> WEAKENED (OpFor morale degraded)
================================================================================
MONTH 4: APRIL (4 Scenarios) - THE KILLER EXAMPLE
================================================================================
Starting Morale: WEAKENED
--- Scenario 13 (Apr 2): PYRRHIC VICTORY ---
Running tally: victories=0, defeats=1
--- Scenario 14 (Apr 9): PYRRHIC VICTORY ---
Running tally: victories=0, defeats=2
--- Scenario 15 (Apr 16): PYRRHIC VICTORY ---
Running tally: victories=0, defeats=3
--- Scenario 16 (Apr 23): VICTORY ---
Running tally: victories=1, defeats=3
--- End of Month Morale Check (Apr 30) ---
Performance Modifier Calculation:
defeats (3) > victories (1)
3 >= 1*2? YES
Performance Modifier = +4 (decisive defeat)
Target Number:
Reliability: +1
Performance: +4
Total: +5
Morale Roll:
2d6 Roll: 9
Modified Roll: 9 + 5 = 14
Morale Outcome:
14 >= WAVERING_TARGET_NUMBER (8)? YES
Outcome: WAVERING
Morale Change: WEAKENED -> CRITICAL
[!] ISSUE #4 - THE SMOKING GUN:
PLAYER WON ALL 4 BATTLES THIS MONTH (3 pyrrhic, 1 normal)
CODE CALCULATED: 1 victory, 3 defeats = "decisive defeat"
Expected: 4-0 victories = -4 performance (decisive victory)
Actual: 1-3 defeats = +4 performance (decisive defeat)
This is an 8-point swing in the WRONG direction!
Player Experience: "I won every single battle this month and my
enemy's morale is IMPROVING?! This makes no sense!"
Month 4 Result: WEAKENED -> CRITICAL (OpFor morale improved significantly)
================================================================================
MONTH 5: MAY (4 Scenarios)
================================================================================
Starting Morale: CRITICAL
--- Scenario 17 (May 7): DECISIVE VICTORY ---
Running tally: victories=2, defeats=0
--- Scenario 18 (May 14): VICTORY ---
Running tally: victories=3, defeats=0
--- Scenario 19 (May 21): PYRRHIC VICTORY ---
Running tally: victories=3, defeats=1
[!] BUG: Should be victories=4, defeats=1
--- Scenario 20 (May 28): VICTORY ---
Running tally: victories=4, defeats=1
--- End of Month Morale Check (May 31) ---
Performance Modifier Calculation:
victories (4) > defeats (1)
4 >= 1*2? YES
Performance Modifier = -4 (decisive victory)
Target Number:
Reliability: +1
Performance: -4
Total: -3
Morale Roll:
2d6 Roll: 4
Modified Roll: 4 + (-3) = 1
Morale Outcome:
1 <= RALLYING_TARGET_NUMBER (6)? YES
Outcome: RALLYING
Morale Change: CRITICAL -> WEAKENED
Month 5 Result: CRITICAL -> WEAKENED (OpFor morale degraded)
================================================================================
FINAL SUMMARY - 20 SCENARIOS
================================================================================
ACTUAL BATTLE RESULTS:
Decisive Victories: 2
Normal Victories: 6
Pyrrhic Victories: 6 <-- THESE ARE WINS!
Draws: 0
Defeats: 4
Decisive Defeats: 2
TOTAL: 14 Wins, 6 Losses (70% Win Rate)
WHAT THE CODE CALCULATED:
Victory Points: 10 (4 from decisive, 6 from normal)
Defeat Points: 12 (4 from decisive, 2 from normal, 6 from pyrrhic)
CODE THINKS: 10 Wins, 12 Losses (45% Win Rate)
MISSING: 6 victory points from Pyrrhic Victories
MORALE PROGRESSION:
Start: STALEMATE
Month 1: ADVANCING (won 3-2, but morale IMPROVED - wrong direction!)
Month 2: STALEMATE (won 4-0, counted as 2-2 tie)
Month 3: WEAKENED (lost 3-1, but 1 win ignored)
Month 4: CRITICAL (won 4-0, counted as 1-3 LOSS!)
Month 5: WEAKENED (won 4-1, finally calculated correctly)
================================================================================
ROOT CAUSE ANALYSIS
================================================================================
BUG LOCATION: MHQMorale.java, lines 465-469
CURRENT CODE:
```java
// Pyrrhic Victory reduces victory count (negative consequence)
if (scenarioStatus.isPyrrhicVictory() || scenarioStatus.isFleetInBeing()) {
defeats++;
continue;
}
```
PROBLEMS:
1. Comment is WRONG: Says "reduces victory count" but actually ADDS to defeats
2. Pyrrhic Victory counts ONLY as defeat, never as victory
3. The 'continue' statement prevents fall-through to victory check
4. Pyrrhic Victory and Fleet in Being should NOT be grouped together
WHAT SHOULD HAPPEN:
- Pyrrhic Victory = costly win = BOTH victory AND defeat
- Fleet in Being = deployed but didn't fight = defeat only
IMPACT ON PLAYER EXPERIENCE:
1. "Morale moves too quickly" - When player has Pyrrhic wins, they inflate
defeat counts, making performance swing negative faster
2. "Morale moves too slowly" - Missing victory points means it takes longer
to accumulate enough wins for meaningful morale degradation
3. "Morale doesn't move at all" - Pyrrhic victories create artificial ties
(Month 2: 4 wins counted as 2-2 tie)
4. "Morale moves in wrong direction" - Most egregious in Month 4 where
player won all 4 battles but OpFor morale improved dramatically
================================================================================
RECOMMENDED FIX
================================================================================
CHANGE lines 465-469 FROM:
```java
// Pyrrhic Victory reduces victory count (negative consequence)
if (scenarioStatus.isPyrrhicVictory() || scenarioStatus.isFleetInBeing()) {
defeats++;
continue;
}
```
TO:
```java
// Pyrrhic Victory counts as both a win and a loss (costly victory)
if (scenarioStatus.isPyrrhicVictory()) {
victories++;
defeats++;
continue;
}
// Fleet in Being counts as a defeat (deployed but did not fight)
if (scenarioStatus.isFleetInBeing()) {
defeats++;
continue;
}
```
CHANGES:
1. Separate Pyrrhic Victory from Fleet in Being (different semantics)
2. Pyrrhic Victory now adds to BOTH victories and defeats
3. Comments now accurately describe behavior
4. Fleet in Being remains defeat-only (correct per glossary)
================================================================================
EXPECTED IMPACT OF FIX
================================================================================
SIMULATION RE-RUN WITH FIX:
Month 1: victories=4, defeats=2 (was 3-2)
Performance: -2 (victory) remains same
But closer to decisive threshold
Month 2: victories=4, defeats=2 (was 2-2)
Performance: -2 (victory) instead of 0 (draw)
OpFor morale degrades instead of staying flat
Month 3: victories=2, defeats=4 (was 1-4)
Performance: +2 (defeat) instead of +4 (decisive defeat)
Less severe morale swing
Month 4: victories=4, defeats=3 (was 1-3)
Performance: -2 (victory) instead of +4 (decisive defeat)
Complete reversal - morale degrades as expected!
Month 5: victories=5, defeats=1 (was 4-1)
Performance: -4 (decisive victory) remains same
FINAL TOTALS:
Actual: 14 wins, 6 losses
With Fix: 14 wins, 12 losses (accounts for costly wins)
Current Bug: 10 wins, 12 losses (missing 4 wins entirely)
PLAYER EXPERIENCE IMPROVEMENTS:
1. Morale changes match battle outcomes (no more backwards movement)
2. Winning streaks properly degrade enemy morale
3. Pyrrhic victories feel costly but still count as wins
4. Performance calculations are intuitive and predictable
================================================================================
ADDITIONAL ISSUE: Incorrect Comment at Line 345-346
================================================================================
LOCATION: getReliability() method
CURRENT COMMENT:
```java
// It's important to note that here a positive modifier is bad for the player,
// as when fed into getReliabilityModifier() it will make the OpFor harder to
// rout (not easier, as is the case with all other positive modifiers)
```
THIS COMMENT IS BACKWARDS.
ACTUAL FLOW:
1. Positive reliability modifier -> added to targetNumber (line 145)
2. Higher targetNumber -> higher modifiedRoll (line 153)
3. Higher modifiedRoll -> more likely to hit WAVERING_TARGET_NUMBER (8)
4. WAVERING outcome -> OpFor morale DEGRADES (good for player)
THEREFORE: Positive modifier = GOOD for player (easier to break morale)
The comments at lines 358 and 360 are CORRECT:
- Line 358: reliabilityModifier++ // "Good for the player"
- Line 360: reliabilityModifier-- // "Bad for the player"
RECOMMENDED FIX:
Remove or rewrite the misleading comment at lines 345-346.
================================================================================
TESTING RECOMMENDATIONS
================================================================================
1. Create unit tests for Pyrrhic Victory scenarios
2. Test all performance modifier thresholds (2:1 ratios)
3. Verify morale progression matches expected outcomes
4. Test edge cases (all pyrrhic, all decisive, etc.)
5. Confirm Fleet in Being still works correctly
================================================================================
END OF ANALYSIS
================================================================================
================================================
FILE: MekHQ/SubmitBug.html
================================================
<!DOCTYPE html>
<html lang="en">
<head>
<title>How to submit a MekHQ bug</title>
</head>
<body>
<h1>How to submit a MekHQ bug</h1>
<p>
MekHQ has a lot of features and the developers are often so busy
developing it
that we sadly don't get enough time to play with it. That means that if
you
catch a bug, we may never fix it unless you tell us about it. Reporting
bugs is a
way that everyone can contribute to this project, so please help us out
and report
bugs when you find them.
</p>
<p>
MekHQ uses both MegaMek and MegaMekLab. If you encounter a problem while
playing a
game, you should report that to the MegaMek bug tracker, rather than the
MekHQ bug
tracker. Similarly, if you encounter a bug while trying to customize a
unit within
the Mek Lab, you should report that bug to the MegaMekLab bug tracker.
Here are the
links for all three bug trackers:
</p>
<ul>
<li><a href="https://github.com/MegaMek/mekhq/issues">MekHQ Bug
Tracker</a></li>
<li><a href="https://github.com/MegaMek/megamek/issues">MegaMek Bug
Tracker</a></li>
<li><a href="https://github.com/MegaMek/megameklab/issues">MegaMekLab
Bug
Tracker</a></li>
</ul>
<p>
To submit a new bug to the bug tracker at github.com. To assist us in
finding the bug,
you should also attach a .zip file containing the following files to
this report:
<ol>
<li>The game save file where the bug occurred.</li>
<li>The mekhq.log file located in the logs directory.</li>
</ol>
<p>
If you are reporting a MegaMek or MegaMekLab bug encountered while running
from within MekHQ,
then you should attach the mekhq log. Otherwise, attach the log for the
specific program.
</p>
<p>Thanks for your help, and good hunting!</p>
</body>
</html>
================================================
FILE: MekHQ/build.gradle
================================================
import java.time.LocalDateTime
plugins {
id 'application'
id 'com.palantir.git-version' version '5.0.0'
id 'edu.sc.seis.launch4j' version '4.0.0'
id "io.sentry.jvm.gradle" version '6.4.0'
id 'jacoco'
id 'java'
id 'checkstyle'
}
tasks.withType(AbstractArchiveTask).configureEach {
preserveFileTimestamps = true
reproducibleFileOrder = true
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
sourceSets {
main {
java {
srcDirs = ['src']
}
resources {
srcDirs = ['resources']
}
}
test {
java {
srcDirs = ['unittests']
}
resources {
srcDirs = ['testresources']
}
}
}
ext {
mhqJvmOptions = [
'-Xmx4096m',
'--add-opens',
'java.base/java.util=ALL-UNNAMED',
'--add-opens',
'java.base/java.util.concurrent=ALL-UNNAMED',
'-Dsun.awt.disablegrab=true'
]
fileStagingDir = "${layout.buildDirectory.get()}/files"
atlasedImages = "${fileStagingDir}/atlasedImages.txt"
scriptsDir = "${projectDir}/scripts"
mmDir = "${rootDir}/../megamek"
mmlDir = "${rootDir}/../megameklab"
}
dependencies {
implementation "org.megamek:megamek:${version}"
implementation("org.megamek:megameklab:${version}") {
// We don't need the python and javascript engine taking up space
exclude group: 'org.python', module: 'jython'
exclude group: 'org.mozilla', module: 'rhino'
// Eclipse IDE Multiple Dependency errors.
exclude group: 'xml-apis'
}
implementation 'jakarta.xml.bind:jakarta.xml.bind-api:4.0.5'
implementation 'jakarta.annotation:jakarta.annotation-api:3.0.0'
implementation 'javax.vecmath:vecmath:1.5.2'
implementation 'joda-time:joda-time:2.14.1'
implementation 'org.joda:joda-money:2.0.3'
implementation 'org.apache.commons:commons-csv:1.14.1'
implementation 'org.apache.commons:commons-math3:3.6.1'
// Future migration reference for commons-math3 replacement:
// https://mvnrepository.com/artifact/org.apache.commons/commons-math4-core
implementation 'org.apache.commons:commons-text:1.15.0'
implementation 'org.apache.logging.log4j:log4j-core:2.25.4'
implementation 'org.apache.pdfbox:pdfbox:3.0.7'
implementation 'org.commonmark:commonmark:0.28.0'
implementation 'org.jfree:jfreechart:1.5.6'
implementation 'com.fasterxml.jackson.core:jackson-core:2.21.2'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.21.2'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.21.2'
runtimeOnly 'org.glassfish.jaxb:jaxb-runtime:4.0.7'
// Required for mml printing scaled vector graphics (SVG) - Eclipse IDE Compatibility.
runtimeOnly 'xml-apis:xml-apis-ext:1.3.04'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher:6.0.3'
testImplementation 'org.junit.jupiter:junit-jupiter:6.0.3'
testImplementation 'org.mockito:mockito-core:5.23.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.23.0'
}
application {
mainClass = 'mekhq.MekHQ'
applicationDefaultJvmArgs = [
'-Xmx4096m',
'--add-opens',
'java.base/java.util=ALL-UNNAMED',
'--add-opens',
'java.base/java.util.concurrent=ALL-UNNAMED',
'-Dsun.awt.disablegrab=true'
]
}
jar {
archiveFileName = "MekHQ.jar"
manifest {
attributes "Main-Class": application.mainClass
attributes "Class-Path": "MegaMek.jar MegaMekLab.jar " + (project.sourceSets.main.runtimeClasspath.files
.findAll { it.name.endsWith(".jar") && !it.name.toLowerCase().startsWith("megamek") }
.collect { "lib/${it.name}" }.join(' '))
attributes "Add-Opens": 'java.base/java.util java.base/java.util.concurrent'
attributes "Build-Date": LocalDateTime.now()
attributes "Sealed": true
}
}
checkstyle {
toolVersion = '13.4.0'
configFile = file("${rootDir}/config/checkstyle/checkstyle.xml")
configProperties = [
'suppressionFile': file("${rootDir}/config/checkstyle/checkstyle-suppressions.xml")
]
maxErrors = 0 // Fail on any error
}
tasks.withType(Checkstyle).configureEach {
minHeapSize = "1g"
maxHeapSize = "4g"
}
tasks.register('stageDataFiles', Sync) {
dependsOn gradle.includedBuild('mm-data').task(':stageFiles')
description = "Syncs Data Files from MHQ Data"
group = 'build'
from "../../mm-data/build/staging/all"
into "${layout.projectDirectory.asFile}/data"
}
tasks.register('generateDynamicFiles') {
def jvmOptions = project.ext.mhqJvmOptions.join('\n')
doLast {
new File("${projectDir}/docs/mhq-revision.txt").text = versionDetails().gitHashFull
new File("${projectDir}/MekHQ.l4j.ini").text = """# Launch4j runtime config
# you can add arguments here that will be processed by the JVM at runtime
${jvmOptions}
"""
}
}
tasks.register("stageLicenseFiles", Sync) {
description = "Copy the license files to the build folder."
group = 'build'
from "../"
into "${layout.buildDirectory.get()}/licenses"
includes = [
'LICENSE',
'LICENSE.code',
'LICENSE.assets',
'README.md'
]
}
tasks.register("copyLicenseFiles", Copy) {
description = "Copies from the build folder to the staging folder"
group = 'build'
dependsOn stageLicenseFiles
from "${layout.buildDirectory.get()}/licenses"
into fileStagingDir
}
tasks.register('createImageAtlases', JavaExec) {
mustRunAfter(stageDataFiles)
description = 'Combines individual image files into a set of image atlases.'
group = 'utility'
classpath = sourceSets.main.runtimeClasspath
mainClass = "megamek.utilities.CreateImageAtlases"
workingDir = file(fileStagingDir)
}
tasks.register('deleteAtlasedImages') {
dependsOn createImageAtlases
description = 'Removes images from the staging directory that have been incorporated into atlases.'
doLast {
if (file(atlasedImages).exists()) {
ant.delete dir: fileStagingDir, includesfile: atlasedImages
ant.delete file: atlasedImages
}
}
}
tasks.register('validateSystems', JavaExec) {
dependsOn jar
dependsOn stageDataFiles
description = 'Validates planetary system YAML data files for structural correctness and data integrity.'
group = 'verification'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'mekhq.utilities.SystemValidator'
args = ["${layout.projectDirectory.asFile}/data/universe/planetary_systems"]
}
tasks.register('officialUnitList', JavaExec) {
dependsOn jar
mustRunAfter(stageDataFiles)
description = 'Compiles a list of all units that come from official sources and saves it in the docs folder.'
group = 'utility'
classpath = sourceSets.main.runtimeClasspath
mainClass = 'megamek.MegaMek'
args = ['-oul', "${projectDir}/docs/OfficialUnitList.txt"]
}
tasks.register('stageFiles', Copy) {
description = 'Stages files that are to be copied into the distribution.'
mustRunAfter(stageDataFiles)
dependsOn officialUnitList
dependsOn deleteAtlasedImages
dependsOn gradle.includedBuild('megamek').task(':megamek:generateDynamicFiles')
dependsOn gradle.includedBuild('megameklab').task(':megameklab:generateDynamicFiles')
dependsOn generateDynamicFiles
dependsOn copyLicenseFiles
from projectDir
include "campaigns/The Learning Ropes.cpnx.gz"
include "data/**"
include "docs/**"
include "mmconf/**"
include "userdata"
include "userdata/data/universe/"
include 'SubmitBug.html'
include "sentry.properties"
include "*.ini"
// User Config Files
exclude "mmconf/clientsettings.xml"
exclude "mmconf/gameoptions.xml"
exclude "mmconf/megameklab.properties"
exclude "mmconf/megameklab.properties.bak"
exclude "mmconf/mhq.preferences"
exclude "mmconf/mm.preferences"
exclude "mmconf/mml.preferences"
exclude "mmconf/recent-advanced-searches.json"
exclude "mmconf/searches/*.json"
exclude("data/**/*.cache")
into fileStagingDir
doLast {
mkdir "${fileStagingDir}/logs"
mkdir "${fileStagingDir}/userdata/data/campaignPresets/"
}
}
tasks.register('createStartScripts', CreateStartScripts) {
description = 'Create shell script for generic distribution.'
applicationName = 'MekHQ'
mainClass = application.mainClass
outputDir = startScripts.outputDir
classpath = jar.outputs.files + files(project.sourceSets.main.runtimeClasspath.files)
.filter { it.name.endsWith(".jar") }
}
distributions {
main {
distributionBaseName = 'MekHQ'
contents {
// MegaMek Includes
from("${mmDir}/megamek/build/scripts") {
into "bin"
}
from("${mmDir}/megamek/scripts") {
include "shell.sh"
rename "shell.sh", "MegaMek.sh"
}
from("${mmDir}/megamek/docs") {
rename 'history.txt', 'mm-history.txt'
into 'docs'
}
from("${mmDir}/megamek/mmconf/log4j2.xml") {
exclude 'log4j2.xml'
}
from("${mmDir}/megamek/mmconf/munitionLoadoutSettings.yaml") {
into 'mmconf'
}
from("${mmDir}/megamek/build/launch4j/lib") {
into "lib"
}
from("${mmDir}/megamek/build/launch4j") {
include '*.exe'
}
from("${mmDir}/megamek/build/libs/MegaMek.jar") {
into "lib"
}
from("${mmDir}/megamek/build/libs/MegaMek.jar")
from("${mmDir}/megamek/") {
include '*.ini'
}
// MegaMekLab Includes
from("${mmlDir}/megameklab/build/launch4j/lib") {
into "lib"
}
from("${mmlDir}/megameklab/build/scripts") {
into "bin"
}
from("${mmlDir}/megameklab/scripts") {
include "shell.sh"
rename "shell.sh", "MegaMekLab.sh"
}
from("${mmlDir}/megameklab/docs") {
rename 'history.txt', 'mml-history.txt'
into "docs"
}
from("${mmlDir}/megameklab/mmconf/log4j2.xml") {
exclude 'log4j2.xml'
}
from("${mmlDir}/megameklab/build/launch4j") {
include '*.exe'
}
from("${mmlDir}/megameklab/build/libs/MegaMekLab.jar") {
into "lib"
}
from("${mmlDir}/megameklab/build/libs/MegaMekLab.jar")
from("${mmlDir}/megameklab/") {
include '*.ini'
}
// MekHQ Includes
from("docs/history.txt") {
rename 'history.txt', 'mhq-history.txt'
into 'docs'
}
from(fileStagingDir) {
exclude 'history.txt'
}
from("${projectDir}/scripts") {
include 'shell.sh'
rename 'shell.sh', 'MekHQ.sh'
}
from("${buildDir}/launch4j") {
include '*.exe'
}
from(project.sourceSets.main.runtimeClasspath.files
.findAll { it.name.endsWith(".jar") && !it.name.toLowerCase().startsWith("megamek") }) {
into "lib"
}
from(jar) {
into "lib"
}
from(jar)
duplicatesStrategy = 'exclude'
}
}
}
launch4j {
description = 'Create Windows executable for MekHQ'
mainClassName = application.mainClass
icon = "${projectDir}/data/images/misc/mekhq.ico"
outfile = "MekHQ.exe"
jarTask = project.tasks.jar
windowTitle = 'MekHQ'
internalName = 'MekHQ'
downloadUrl = 'https://github.com/MegaMek/megamek/wiki/Updating-to-Adoptium-(Eclipse-Temurin-Open-Source-Java)'
supportUrl = 'https://megamek.org'
copyright = '2026 MegaMek Development Team.'
trademarks = 'MechWarrior, BattleMech, `Mech and AeroTech - The The Topps Company, Inc. Catalyst Game Labs - InMediaRes Productions, LLC.'
companyName = "MegaMek Development Team"
jreMinVersion = '21'
dontWrapJar = true
messagesJreVersionError = 'We require a Java Runtime of version 21 or higher installed. https://github.' +
'com/MegaMek/megamek/wiki/Updating-to-Adoptium-(Eclipse-Temurin-Open-Source-Java)'
messagesJreNotFoundError = 'Go here for instructions on installing the correct version of Java: https://github.com/MegaMek/megamek/wiki/Updating-to-Adoptium-(Eclipse-Temurin-Open-Source-Java)'
}
project.tasks.createExe.dependsOn(stageDataFiles)
project.tasks.createExe.mustRunAfter(stageDataFiles)
tasks.register("packagePrepWork") {
description = 'General Catch All for all distributions'
dependsOn jar
dependsOn stageFiles
dependsOn startScripts
dependsOn createStartScripts
dependsOn createAllExecutables
dependsOn gradle.includedBuild('megamek').task(':megamek:startScripts')
dependsOn gradle.includedBuild('megameklab').task(':megameklab:startScripts')
dependsOn gradle.includedBuild('megamek').task(':megamek:createStartScripts')
dependsOn gradle.includedBuild('megameklab').task(':megameklab:createStartScripts')
dependsOn gradle.includedBuild('megamek').task(':megamek:createAllExecutables')
dependsOn gradle.includedBuild('megameklab').task(':megameklab:createAllExecutables')
}
distTar {
description = 'Creates distribution packaged as a GZipped tar ball'
dependsOn packagePrepWork
archiveExtension = 'tar.gz'
compression = Compression.GZIP
}
distZip {
description = 'Creates distribution packaged as a ZIP File'
enabled = false
dependsOn packagePrepWork
}
assemble {
dependsOn jar
}
assembleDist {
description = 'Build unix, Windows, and source packages'
group = 'distribution'
dependsOn stageFiles
dependsOn distTar
}
tasks.register("buildAllPackages", Copy) {
dependsOn gradle.includedBuild('megamek').task(':megamek:assembleDist')
dependsOn gradle.includedBuild('megameklab').task(':megameklab:assembleDist')
dependsOn assembleDist
group = "distribution"
into layout.buildDirectory.dir("distributions")
from("${mmDir}/megamek/build/distributions") {
include "*.tar.gz"
}
from("${mmlDir}/megameklab/build/distributions") {
include "*.tar.gz"
}
}
tasks.register("cleanAll") {
description = "Cleans all build projects to ensure a clean slate"
group = "build"
dependsOn gradle.includedBuild('mm-data').task(':clean')
dependsOn gradle.includedBuild('megamek').task(':megamek:clean')
dependsOn gradle.includedBuild('megameklab').task(':megameklab:clean')
dependsOn clean
}
tasks.register("testAll") {
description = "Cleans all build projects to ensure a clean slate then runs all tests"
group = "verification"
dependsOn cleanAll
dependsOn gradle.includedBuild('megamek').task(':megamek:test')
dependsOn gradle.includedBuild('megameklab').task(':megameklab:test')
dependsOn test
}
run {
dependsOn(stageDataFiles)
jvmArgs = mhqJvmOptions
}
test {
useJUnitPlatform()
dependsOn(checkstyleMain)
minHeapSize = "1024m"
maxHeapSize = "8192m"
jvmArgs = ["-XX:MaxMetaspaceSize=1024m"]
testLogging {
events "failed"
exceptionFormat = "full"
showExceptions = true
showCauses = true
showStackTraces = true
showStandardStreams = true
}
// report is always generated after tests run
finalizedBy jacocoTestReport
}
jacocoTestReport {
// tests are required to run before generating the report
dependsOn test
reports {
xml.required = true
html.required = true
}
}
================================================
FILE: MekHQ/campaigns/archive/Fist and Falcon/Binary Bravo, 1st Falcon Strikers.cpnx
================================================
<?xml version="1.0" encoding="UTF-8"?>
<campaign version="0.47.15">
<info>
<id>ba1ebe6c-0312-4891-8ac8-e893de7f3c81</id>
<name>Binary Bravo,1st Falcon Strikers, Delta Galaxy</name>
<faction>CJF</faction>
<rankSystem>
<systemId>9</systemId>
<systemName>Clan</systemName>
</rankSystem>
<nameGen>Clan</nameGen>
<percentFemale>50</percentFemale>
<overtime>false</overtime>
<gmMode>true</gmMode>
<astechPool>0</astechPool>
<astechPoolMinutes>0</astechPoolMinutes>
<astechPoolOvertime>0</astechPoolOvertime>
<medicPool>0</medicPool>
<camoCategory>Clans/Jade Falcon/</camoCategory>
<camoFileName>Delta Galaxy.jpg</camoFileName>
<iconCategory>-- General --</iconCategory>
<iconFileName>None</iconFileName>
<colorIndex>0</colorIndex>
<lastForceId>3</lastForceId>
<lastMissionId>1</lastMissionId>
<lastScenarioId>1</lastScenarioId>
<calendar>3071-05-14</calendar>
<fatigueLevel>0</fatigueLevel>
<nameGen>
<faction>Clan</faction>
<percentFemale>50</percentFemale>
</nameGen>
<currentReport>
</currentReport>
</info>
<campaignOptions>
<manualUnitRatingModifier>0</manualUnitRatingModifier>
<logMaintenance>false</logMaintenance>
<useFactionForNames>true</useFactionForNames>
<repairSystem>0</repairSystem>
<unitRatingMethod>CAMPAIGN_OPS</unitRatingMethod>
<useEraMods>false</useEraMods>
<assignedTechFirst>false</assignedTechFirst>
<resetToFirstTech>false</resetToFirstTech>
<useTactics>true</useTactics>
<useInitBonus>true</useInitBonus>
<useToughness>true</useToughness>
<useArtillery>true</useArtillery>
<useAbilities>true</useAbilities>
<useEdge>true</useEdge>
<useSupportEdge>false</useSupportEdge>
<useImplants>false</useImplants>
<altQualityAveraging>false</altQualityAveraging>
<useAdvancedMedical>false</useAdvancedMedical>
<useDylansRandomXp>false</useDylansRandomXp>
<useQuirks>false</useQuirks>
<showOriginFaction>true</showOriginFaction>
<randomizeOrigin>false</randomizeOrigin>
<randomizeDependentOrigin>false</randomizeDependentOrigin>
<originSearchRadius>45</originSearchRadius>
<isOriginExtraRandom>false</isOriginExtraRandom>
<scenarioXP>1</scenarioXP>
<killsForXP>0</killsForXP>
<killXPAward>0</killXPAward>
<nTasksXP>25</nTasksXP>
<tasksXP>1</tasksXP>
<mistakeXP>0</mistakeXP>
<successXP>0</successXP>
<idleXP>0</idleXP>
<targetIdleXP>10</targetIdleXP>
<monthsIdleXP>2</monthsIdleXP>
<contractNegotiationXP>0</contractNegotiationXP>
<adminWeeklyXP>0</adminWeeklyXP>
<adminXPPeriod>1</adminXPPeriod>
<edgeCost>10</edgeCost>
<limitByYear>true</limitByYear>
<disallowExtinctStuff>false</disallowExtinctStuff>
<allowClanPurchases>true</allowClanPurchases>
<allowISPurchases>true</allowISPurchases>
<allowCanonOnly>false</allowCanonOnly>
<allowCanonRefitOnly>false</allowCanonRefitOnly>
<variableTechLevel>false</variableTechLevel>
<factionIntroDate>false</factionIntroDate>
<useAmmoByType>false</useAmmoByType>
<waitingPeriod>7</waitingPeriod>
<acquisitionSkill>Tech</acquisitionSkill>
<acquisitionSupportStaffOnly>true</acquisitionSupportStaffOnly>
<techLevel>3</techLevel>
<nDiceTransitTime>1</nDiceTransitTime>
<constantTransitTime>0</constantTransitTime>
<unitTransitTime>2</unitTransitTime>
<acquireMosBonus>1</acquireMosBonus>
<acquireMosUnit>2</acquireMosUnit>
<acquireMinimumTime>1</acquireMinimumTime>
<acquireMinimumTimeUnit>2</acquireMinimumTimeUnit>
<usePlanetaryAcquisition>false</usePlanetaryAcquisition>
<planetAcquisitionFactionLimit>1</planetAcquisitionFactionLimit>
<planetAcquisitionNoClanCrossover>true</planetAcquisitionNoClanCrossover>
<noClanPartsFromIS>true</noClanPartsFromIS>
<penaltyClanPartsFromIS>4</penaltyClanPartsFromIS>
<planetAcquisitionVerbose>false</planetAcquisitionVerbose>
<maxJumpsPlanetaryAcquisition>2</maxJumpsPlanetaryAcquisition>
<equipmentContractPercent>5.0</equipmentContractPercent>
<dropshipContractPercent>1.0</dropshipContractPercent>
<jumpshipContractPercent>0.0</jumpshipContractPercent>
<warshipContractPercent>0.0</warshipContractPercent>
<equipmentContractBase>false</equipmentContractBase>
<equipmentContractSaleValue>false</equipmentContractSaleValue>
<blcSaleValue>false</blcSaleValue>
<overageRepaymentInFinalPayment>false</overageRepaymentInFinalPayment>
<clanAcquisitionPenalty>0</clanAcquisitionPenalty>
<isAcquisitionPenalty>0</isAcquisitionPenalty>
<healWaitingPeriod>1</healWaitingPeriod>
<naturalHealingWaitingPeriod>15</naturalHealingWaitingPeriod>
<destroyByMargin>false</destroyByMargin>
<destroyMargin>4</destroyMargin>
<destroyPartTarget>10</destroyPartTarget>
<useAeroSystemHits>false</useAeroSystemHits>
<maintenanceCycleDays>7</maintenanceCycleDays>
<maintenanceBonus>-1</maintenanceBonus>
<useQualityMaintenance>true</useQualityMaintenance>
<reverseQualityNames>false</reverseQualityNames>
<useUnofficalMaintenance>false</useUnofficalMaintenance>
<checkMaintenance>true</checkMaintenance>
<useRandomHitsForVees>false</useRandomHitsForVees>
<minimumHitsForVees>1</minimumHitsForVees>
<maxAcquisitions>0</maxAcquisitions>
<minimumMarriageAge>16</minimumMarriageAge>
<checkMutualAncestorsDepth>4</checkMutualAncestorsDepth>
<logMarriageNameChange>false</logMarriageNameChange>
<useManualMarriages>true</useManualMarriages>
<useRandomMarriages>false</useRandomMarriages>
<chanceRandomMarriages>2.5E-4</chanceRandomMarriages>
<marriageAgeRange>10</marriageAgeRange>
<randomMarriageSurnameWeights>100,55,55,10,5,30,20,10,5,30,20,500,160</randomMarriageSurnameWeights>
<useRandomSameSexMarriages>false</useRandomSameSexMarriages>
<chanceRandomSameSexMarriages>2.0E-5</chanceRandomSameSexMarriages>
<useUnofficialProcreation>false</useUnofficialProcreation>
<chanceProcreation>5.0E-4</chanceProcreation>
<useUnofficialProcreationNoRelationship>false</useUnofficialProcreationNoRelationship>
<chanceProcreationNoRelationship>5.0E-5</chanceProcreationNoRelationship>
<displayTrueDueDate>false</displayTrueDueDate>
<logConception>false</logConception>
<babySurnameStyle>MOTHERS</babySurnameStyle>
<determineFatherAtBirth>false</determineFatherAtBirth>
<displayFamilyLevel>SPOUSE</displayFamilyLevel>
<keepMarriedNameUponSpouseDeath>true</keepMarriedNameUponSpouseDeath>
<prisonerCaptureStyle>TAHARQA</prisonerCaptureStyle>
<defaultPrisonerStatus>PRISONER</defaultPrisonerStatus>
<prisonerBabyStatus>true</prisonerBabyStatus>
<useAtBPrisonerDefection>false</useAtBPrisonerDefection>
<useAtBPrisonerRansom>false</useAtBPrisonerRansom>
<payForParts>false</payForParts>
<payForRepairs>false</payForRepairs>
<payForUnits>false</payForUnits>
<payForSalaries>false</payForSalaries>
<payForOverhead>false</payForOverhead>
<payForMaintain>false</payForMaintain>
<payForTransport>false</payForTransport>
<sellUnits>false</sellUnits>
<sellParts>false</sellParts>
<payForRecruitment>false</payForRecruitment>
<useLoanLimits>true</useLoanLimits>
<usePercentageMaint>false</usePercentageMaint>
<infantryDontCount>false</infantryDontCount>
<usePeacetimeCost>false</usePeacetimeCost>
<useExtendedPartsModifier>false</useExtendedPartsModifier>
<showPeacetimeCost>false</showPeacetimeCost>
<financialYearDuration>ANNUAL</financialYearDuration>
<newFinancialYearFinancesToCSVExport>false</newFinancialYearFinancesToCSVExport>
<clanPriceModifier>1.0</clanPriceModifier>
<usedPartsValueA>0.1</usedPartsValueA>
<usedPartsValueB>0.2</usedPartsValueB>
<usedPartsValueC>0.3</usedPartsValueC>
<usedPartsValueD>0.5</usedPartsValueD>
<usedPartsValueE>0.7</usedPartsValueE>
<usedPartsValueF>0.9</usedPartsValueF>
<damagedPartsValue>0.33</damagedPartsValue>
<canceledOrderReimbursement>0.5</canceledOrderReimbursement>
<useTransfers>true</useTransfers>
<useTimeInService>false</useTimeInService>
<timeInServiceDisplayFormat>YEARS</timeInServiceDisplayFormat>
<useTimeInRank>false</useTimeInRank>
<timeInRankDisplayFormat>MONTHS_YEARS</timeInRankDisplayFormat>
<useRetirementDateTracking>false</useRetirementDateTracking>
<trackTotalEarnings>false</trackTotalEarnings>
<personnelMarketName>Strat Ops</personnelMarketName>
<personnelMarketRandomEliteRemoval>10</personnelMarketRandomEliteRemoval>
<personnelMarketRandomVeteranRemoval>8</personnelMarketRandomVeteranRemoval>
<personnelMarketRandomRegularRemoval>6</personnelMarketRandomRegularRemoval>
<personnelMarketRandomGreenRemoval>4</personnelMarketRandomGreenRemoval>
<personnelMarketRandomUltraGreenRemoval>4</personnelMarketRandomUltraGreenRemoval>
<personnelMarketReportRefresh>true</personnelMarketReportRefresh>
<personnelMarketDylansWeight>0.3</personnelMarketDylansWeight>
<salaryEnlistedMultiplier>1.0</salaryEnlistedMultiplier>
<salaryCommissionMultiplier>1.2</salaryCommissionMultiplier>
<salaryAntiMekMultiplier>1.5</salaryAntiMekMultiplier>
<phenotypeProbabilities>95,100,95,0,95,25</phenotypeProbabilities>
<tougherHealing>false</tougherHealing>
<useAtB>false</useAtB>
<useAero>false</useAero>
<useVehicles>true</useVehicles>
<clanVehicles>false</clanVehicles>
<doubleVehicles>true</doubleVehicles>
<adjustPlayerVehicles>false</adjustPlayerVehicles>
<opforLanceTypeMeks>1</opforLanceTypeMeks>
<opforLanceTypeMixed>2</opforLanceTypeMixed>
<opforLanceTypeVehicles>3</opforLanceTypeVehicles>
<opforUsesVTOLs>true</opforUsesVTOLs>
<useDropShips>false</useDropShips>
<skillLevel>2</skillLevel>
<aeroRecruitsHaveUnits>false</aeroRecruitsHaveUnits>
<useShareSystem>false</useShareSystem>
<sharesExcludeLargeCraft>false</sharesExcludeLargeCraft>
<sharesForAll>false</sharesForAll>
<retirementRolls>true</retirementRolls>
<customRetirementMods>false</customRetirementMods>
<foundersNeverRetire>false</foundersNeverRetire>
<atbAddDependents>true</atbAddDependents>
<dependentsNeverLeave>false</dependentsNeverLeave>
<trackUnitFatigue>false</trackUnitFatigue>
<mercSizeLimited>false</mercSizeLimited>
<trackOriginalUnit>false</trackOriginalUnit>
<regionalMekVariations>false</regionalMekVariations>
<attachedPlayerCamouflage>true</attachedPlayerCamouflage>
<playerControlsAttachedUnits>false</playerControlsAttachedUnits>
<searchRadius>800</searchRadius>
<atbBattleChance>41,21,61,11</atbBattleChance>
<generateChases>true</generateChases>
<variableContractLength>false</variableContractLength>
<instantUnitMarketDelivery>false</instantUnitMarketDelivery>
<useWeatherConditions>true</useWeatherConditions>
<useLightConditions>true</useLightConditions>
<usePlanetaryConditions>false</usePlanetaryConditions>
<useLeadership>true</useLeadership>
<useStrategy>true</useStrategy>
<baseStrategyDeployment>3</baseStrategyDeployment>
<additionalStrategyDeployment>1</additionalStrategyDeployment>
<adjustPaymentForStrategy>false</adjustPaymentForStrategy>
<restrictPartsByMission>true</restrictPartsByMission>
<limitLanceWeight>true</limitLanceWeight>
<limitLanceNumUnits>true</limitLanceNumUnits>
<contractMarketReportRefresh>true</contractMarketReportRefresh>
<unitMarketReportRefresh>true</unitMarketReportRefresh>
<assignPortraitOnRoleChange>false</assignPortraitOnRoleChange>
<allowDuplicatePortraits>true</allowDuplicatePortraits>
<allowOpforAeros>false</allowOpforAeros>
<allowOpforLocalUnits>false</allowOpforLocalUnits>
<opforAeroChance>5</opforAeroChance>
<opforLocalUnitChance>5</opforLocalUnitChance>
<massRepairUseRepair>true</massRepairUseRepair>
<massRepairUseSalvage>true</massRepairUseSalvage>
<massRepairUseExtraTime>true</massRepairUseExtraTime>
<massRepairUseRushJob>true</massRepairUseRushJob>
<massRepairAllowCarryover>true</massRepairAllowCarryover>
<massRepairOptimizeToCompleteToday>false</massRepairOptimizeToCompleteToday>
<massRepairScrapImpossible>false</massRepairScrapImpossible>
<massRepairUseAssignedTechsFirst>false</massRepairUseAssignedTechsFirst>
<massRepairReplacePod>true</massRepairReplacePod>
<massRepairOptions>
<massRepairOption>
<type>0</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>1</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>2</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>3</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>4</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>5</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>6</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>7</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
<massRepairOption>
<type>8</type>
<active>0</active>
<skillMin>0</skillMin>
<skillMax>4</skillMax>
<targetNumberPreferred>4</targetNumberPreferred>
<targetNumberMax>6</targetNumberMax>
</massRepairOption>
</massRepairOptions>
<planetTechAcquisitionBonus>-1,0,1,2,4,8</planetTechAcquisitionBonus>
<planetIndustryAcquisitionBonus>0,0,0,0,0,0</planetIndustryAcquisitionBonus>
<planetOutputAcquisitionBonus>-1,0,1,2,4,8</planetOutputAcquisitionBonus>
<salaryTypeBase>0 CSB,1500 CSB,1500 CSB,900 CSB,900 CSB,900 CSB,900 CSB,960 CSB,750 CSB,960
CSB,900 CSB,1000 CSB,1000 CSB,1000 CSB,1000 CSB,800 CSB,800 CSB,800 CSB,800 CSB,400 CSB,1500
CSB,400 CSB,500 CSB,500 CSB,500 CSB,500 CSB,0 CSB,0 CSB</salaryTypeBase>
<salaryXpMultiplier>0.6,0.6,1.0,1.6,3.2</salaryXpMultiplier>
<usePortraitForType>
false,true,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false</usePortraitForType>
<useAtBUnitMarket>false</useAtBUnitMarket>
<rats>Xotl,Total Warfare</rats>
</campaignOptions>
<units>
<unit id="16dcf501-0713-44cd-9ab8-506ae8132bc4" type="mekhq.campaign.unit.Unit">
<entity chassis="Cougar" model="A" type="Biped" commander="false"
externalId="16dcf501-0713-44cd-9ab8-506ae8132bc4"> The first slot in a location is at
index="1". <location index="4"> Right Arm <slot index="7"
type="Clan Ammo LRM-20 (Clan) Artemis-capable" shots="6" />
<slot index="8"
type="Clan Ammo LRM-20 (Clan) Artemis-capable" shots="6" />
</location>
<location
index="5"> Left Arm <slot index="7" type="Clan Ammo LRM-20 (Clan) Artemis-capable"
shots="6" />
<slot index="8" type="Clan Ammo LRM-20 (Clan) Artemis-capable" shots="6" />
</location>
</entity>
<driverId>76a13d8f-bb29-470d-9077-8c4cb0ae5dcd</driverId>
<gunnerId>76a13d8f-bb29-470d-9077-8c4cb0ae5dcd</gunnerId>
<forceId>3</forceId>
</unit>
<unit id="59fa4c14-67fe-4156-9036-12d15c980258" type="mekhq.campaign.unit.Unit">
<entity chassis="Vixen (Incubus)" model="(Standard)" type="Biped" commander="false"
externalId="59fa4c14-67fe-4156-9036-12d15c980258"> The first slot in a location is at
index="1". <location index="1"> Center Torso <slot index="11"
type="Clan Machine Gun Ammo - Half" shots="100" />
</location>
</entity>
<driverId>590dcabe-e9d9-43ec-8e24-0c3651f1a28c</driverId>
<gunnerId>590dcabe-e9d9-43ec-8e24-0c3651f1a28c</gunnerId>
<forceId>2</forceId>
</unit>
<unit id="51097474-8627-4694-a6a3-a26ac7004a99" type="mekhq.campaign.unit.Unit">
<entity chassis="Nova Cat" model="A" type="Biped" commander="false"
externalId="51097474-8627-4694-a6a3-a26ac7004a99">
</entity>
<driverId>a78026c1-b3f6-4674-bbe6-99d44cd734e0</driverId>
<gunnerId>a78026c1-b3f6-4674-bbe6-99d44cd734e0</gunnerId>
<forceId>2</forceId>
</unit>
<unit id="debc1f9e-e3f6-4fa7-ba5f-d8468fda03f6" type="mekhq.campaign.unit.Unit">
<entity chassis="Grendel (Mongrel)" model="Prime" type="Biped" commander="false"
externalId="debc1f9e-e3f6-4fa7-ba5f-d8468fda03f6"> The first slot in a location is at
index="1". <location index="2"> Right Torso <slot index="8" type="Clan Streak SRM 6 Ammo"
shots="15" />
</location>
</entity>
<driverId>7cda45c3-54d0-4486-8aaf-42b8baefd02e</driverId>
<gunnerId>7cda45c3-54d0-4486-8aaf-42b8baefd02e</gunnerId>
<forceId>2</forceId>
</unit>
<unit id="27f78700-2c26-485e-8ca8-2150bbd84912" type="mekhq.campaign.unit.Unit">
<entity chassis="Hellion" model="Prime" type="Biped" commander="false"
externalId="27f78700-2c26-485e-8ca8-2150bbd84912"> The first slot in a location is at
index="1". <location index="2"> Right Torso <slot index="6" type="Clan Ammo LRM-10"
shots="12" />
</location>
<location index="3"> Left Torso <slot index="5"
type="Clan Streak SRM 2 Ammo" shots="50" />
</location>
</entity>
<driverId>cc01ee96-49ea-4e0e-a992-d6cc25bbda1e</driverId>
<gunnerId>cc01ee96-49ea-4e0e-a992-d6cc25bbda1e</gunnerId>
<forceId>2</forceId>
</unit>
<unit id="672e726e-2c55-4773-9017-85527cf9a679" type="mekhq.campaign.unit.Unit">
<entity chassis="Kodiak" model="(Standard)" type="Biped" commander="false"
externalId="672e726e-2c55-4773-9017-85527cf9a679"> The first slot in a location is at
index="1". <location index="2"> Right Torso <slot index="11" type="Clan Ultra AC/20 Ammo"
shots="5" />
<slot index="12" type="Clan Ultra AC/20 Ammo" shots="5" />
</location>
<location
index="3"> Left Torso <slot index="11" type="Clan Streak SRM 6 Ammo" shots="15" />
<slot
index="12" type="Clan Streak SRM 6 Ammo" shots="15" />
</location>
</entity>
<driverId>61b23021-990f-4f58-9a90-4ea15f59d6c4</driverId>
<gunnerId>61b23021-990f-4f58-9a90-4ea15f59d6c4</gunnerId>
<forceId>3</forceId>
</unit>
<unit id="5e10fd69-20f4-4335-ae97-ebd688cc33cb" type="mekhq.campaign.unit.Unit">
<entity chassis="Fenris (Ice Ferret)" model="H" type="Biped" commander="false"
externalId="5e10fd69-20f4-4335-ae97-ebd688cc33cb"> The first slot in a location is at
index="1". <location index="5"> Left Arm <slot index="7" type="Clan Ammo SRM-6" shots="15" />
</location>
</entity>
<driverId>44e0d05e-33ee-40c4-afc8-bdea0fa2bd82</driverId>
<gunnerId>44e0d05e-33ee-40c4-afc8-bdea0fa2bd82</gunnerId>
<forceId>2</forceId>
</unit>
<unit id="10a48169-4ce8-48a9-abae-9dc65c6b095c" type="mekhq.campaign.unit.Unit">
<entity chassis="Shadow Cat" model="C" type="Biped" commander="false"
externalId="10a48169-4ce8-48a9-abae-9dc65c6b095c"> The first slot in a location is at
index="1". <location index="2"> Right Torso <slot index="5" type="ISNarc Pods" shots="6" />
<slot
index="6" type="ISNarc Pods" shots="6" />
</location>
<location index="3"> Left
Torso <slot index="5" type="Clan Ammo ATM-6" shots="10" />
<slot index="6"
type="Clan Ammo ATM-6 ER" shots="10" />
<slot index="7" type="Clan Ammo ATM-6 HE"
shots="10" />
</location>
</entity>
<driverId>e4459752-4dd8-43da-b3f9-447df3ec737f</driverId>
<gunnerId>e4459752-4dd8-43da-b3f9-447df3ec737f</gunnerId>
<forceId>3</forceId>
</unit>
<unit id="18c0e478-71ec-4101-936e-4036e6679aa5" type="mekhq.campaign.unit.Unit">
<entity chassis="Jenner IIC" model="(Standard)" type="Biped" commander="false"
externalId="18c0e478-71ec-4101-936e-4036e6679aa5"> The first slot in a location is at
index="1". <location index="2"> Right Torso <slot index="4" type="Clan Streak SRM 4 Ammo"
shots="25" />
<slot index="5" type="Clan Ammo SRM-6" shots="15" />
</location>
<location
index="3"> Left Torso <slot index="4" type="Clan Ammo SRM-6" shots="15" />
</location>
</entity>
<driverId>6a465a01-6306-47a7-bf77-be95b7860434</driverId>
<gunnerId>6a465a01-6306-47a7-bf77-be95b7860434</gunnerId>
<forceId>3</forceId>
</unit>
<unit id="cdcddcc1-62e1-4e24-b3f3-640b3a24f50f" type="mekhq.campaign.unit.Unit">
<entity chassis="Mad Cat (Timber Wolf)" model="H" type="Biped" commander="false"
externalId="cdcddcc1-62e1-4e24-b3f3-640b3a24f50f"> The first slot in a location is at
index="1". <location index="2"> Right Torso <slot index="8"
type="Clan Ammo LRM-20 (Clan) Artemis-capable" shots="6" />
<slot index="9"
type="Clan Ammo LRM-20 (Clan) Artemis-capable" shots="6" />
</location>
<location
index="3"> Left Torso <slot index="8" type="Clan Ammo LRM-20 (Clan) Artemis-capable"
shots="6" />
<slot index="9" type="Clan Ammo LRM-20 (Clan) Artemis-capable" shots="6" />
</location>
</entity>
<driverId>c78411a2-1375-46e1-a11f-db0dfc825810</driverId>
<gunnerId>c78411a2-1375-46e1-a11f-db0dfc825810</gunnerId>
<forceId>3</forceId>
</unit>
</units>
<personnel>
<person id="590dcabe-e9d9-43ec-8e24-0c3651f1a28c" type="mekhq.campaign.personnel.Person">
<id>590dcabe-e9d9-43ec-8e24-0c3651f1a28c</id>
<givenName>Hayes</givenName>
<surname></surname>
<primaryRole>1</primaryRole>
<faction>CJF</faction>
<clan>true</clan>
<phenotype>MEKWARRIOR</phenotype>
<biography>Although he stands barely one hundred and eighty centimeters high, MekWarriors
Hayes is a talented martial artist who prefers to fight his challenges unaugmented, where he
can take advantage
of his opponentsâ' near-certain dismissal of his small stature. His falconers indulged him
his passion for unarmed combat butalso made certain they trained him as a skilled
MekWarrior, and Hayes has not disappointed them. His choice of a highly-mobile
Incubus for a 'Mek is another small joke between Hayes and the world; the Incubus is one of
the tallest-appearing 'Meks on the battlefield because of its slender stature and high
mobility. Fewpeople expect to see the shape of a man like Hayes emerge from
its cockpit.
Hayes was assigned to the First Falcon Striker as part of Binary Bravo after serving with
the Fourth Falcon Dragoons on Morges. During that action, his Star was cut off from the rest
of the Trinary and had to evade a stronger Lyran force to rejoin. Hayes was the
last MekWarrior to return from the Morges wastelands, but he had claimed two heavier Lyran
'Meks before coming in. He used the Incubusâ' powerful large pulse laser and superior
mobility to
keep the medium 'Meks at range, wearing them down. When Star Captain Ingried was reviewing
codexes he immediately requested Hayes and his second-line BattleMek for his Binary based on
that action. Hayesâ' placement in the Alpha Beak is a
reflection of both Ingriedâ's high regard for the warrior and for Star Commander Nicola von
Jankmonâ's disdain for his light, secondline BattleMek.
For his part Hayes is pleased to be a in a frontline Cluster and serving beneath an officer
who recognizes and accepts unorthodox tactics. Although he is Jade Falcon to the core, and
prefers the rituals of zellbrigen wherever possible, Hayes also believes it is his
opponentsâ' responsibility to return the same
honorable treatment in kind. On Morges, the way that the two Lyran 'Meks ganged up on his
lighter, solitary 'Mek told him they were warriors without honor, and he treated them that
way. Star Captain Ingried, who agrees with this point of view
entirely, encourages the MekWarrior to keep his enemies underestimating him—and by
extension, the entire Star.
Hayes was offered an OmniMek when he transferred to the First Falcon Striker Cluster, but he
retained the Incubus heâ's piloted since his Trial of Position on Ironhold. On Morges this
decision served him well in skirmishes with the Twenty-fifth Arcturan
Guardsâ' infantry regiments, where he was able to use the Incubusâ' anti-infantry machine
guns to keep sappers away from his 'Mek and those of his Starmates. He is a crack shot with
the 'Mekâ's
large pulse laser, but his accuracy suffers when he switches to the paired ER medium
lasers—Hayes appears unable to switch quickly between the two different firing modes.</biography>
<portraitCategory>Pursing Peregrines/</portraitCategory>
<portraitFile>Hayes.jpg</portraitFile>
<xp>0</xp>
<daysToWaitForHealing>15</daysToWaitForHealing>
<gender>MALE</gender>
<rank>4</rank>
<unitId>59fa4c14-67fe-4156-9036-12d15c980258</unitId>
<status>ACTIVE</status>
<birthday>3048-02-16</birthday>
<skill>
<type>Leadership</type>
<level>2</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Negotiation</type>
<level>2</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Tactics</type>
<level>3</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Medtech</type>
<level>4</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Small Arms</type>
<level>4</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Piloting/Mek</type>
<level>4</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Gunnery/Mek</type>
<level>4</level>
<bonus>0</bonus>
</skill>
<personnelLog>
<logEntry>
<date>3071-05-14</date>
<desc>Promoted to Warrior</desc>
<type>SERVICE</type>
</logEntry>
</personnelLog>
</person>
<person id="44e0d05e-33ee-40c4-afc8-bdea0fa2bd82" type="mekhq.campaign.personnel.Person">
<id>44e0d05e-33ee-40c4-afc8-bdea0fa2bd82</id>
<givenName>Allen</givenName>
<surname></surname>
<primaryRole>1</primaryRole>
<faction>CJF</faction>
<clan>true</clan>
<phenotype>MEKWARRIOR</phenotype>
<biography>MekWarrior Allen is a solidly competent, if uninspiring, Jade Falcon MekWarrior.
Most people mistake him for a simpleton when first they meet, but that is simply because
Allen is a very taciturn man. He never speaks when a gesture will do, but his
courtesy is beyond reproach inside the Binary and Cluster. The only time Allen appears to
show any animus is in combat, when he wields his Ice Ferret with a skill and speed that
shocks those who havenâ't seen it before. Few of his falconers expected Allen
to even survive his Trial of Position, much less pass it, but he surprised them by defeating
one of his opponents and then ending the Trial. When pressed why he didnâ't keep fighting,
Allen replied “to do more would be wasteful; the objective was a warriorâ's rank.â€�
MekWarrior Quintero of Bravo Beak calls Allen
“Shrug� behind his back.
When not in combat Allen fills his time with exercise and reading. His physique is
distinctive without being outrageous—he prefers toning workouts to bulk muscle, and will
spend any free time he has out hiking around his Starâ's base. He is an accomplished
outdoorsman and climber, but his superiors are often loathe to allow him the freedom to
wander into the wilderness alone for weeks at a time—Jade Falcon warriors are supposed to
be always ready for combat. By some quirk or skill, though, Allen has never
failed to return in time for a deployment. On Deia, for example, he walked back into the
Starâ's bivouac literally ten minutes before the alarm was sounded for a raid by the Knights
of St. Cameron.
Although he piloted an Alpha-configuration Ice Ferret on Deia, for the Great X campaign
Allen has reconfigured his machine to the H-configuration, which carries an ER large laser
and a pair of
powerful (if inaccurate) heavy medium lasers. The heavy mediums offer him serious firepower,
and the large laser possesses a farther-reaching range envelope than even an ER PPC. Allen
has been testing the configuration in the DropShipâ's simulators
against common Lyran Alliance BattleMek designs. Using the Ice Ferretâ's speed, he has been
racing in to deliver crushing attacks against heavier 'Meksâ' flanks and lighter rear armor
before using that same speed to escape return fire. He has been having some
success, although his lack of accuracy with the attached six-tube short-range missile system
is causing him some frustration. In an unorthodox move for him, he has been consulting
MekWarrior
Hayes, who uses similar tactics with his lighter (and even faster) Incubus. Hayes has
offered him some pointers, but the missile launcher remains a problem.
</biography>
<portraitCategory>Pursing Peregrines/</portraitCategory>
<portraitFile>Allen.jpg</portraitFile>
<xp>0</xp>
<daysToWaitForHealing>15</daysToWaitForHealing>
<gender>MALE</gender>
<rank>4</rank>
<unitId>5e10fd69-20f4-4335-ae97-ebd688cc33cb</unitId>
<status>ACTIVE</status>
<birthday>3051-04-25</birthday>
<skill>
<type>Negotiation</type>
<level>4</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Leadership</type>
<level>2</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Tactics</type>
<level>2</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Medtech</type>
<level>6</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Small Arms</type>
<level>3</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Piloting/Mek</type>
<level>4</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Gunnery/Mek</type>
<level>4</level>
<bonus>0</bonus>
</skill>
<personnelLog>
<logEntry>
<date>3071-05-14</date>
<desc>Promoted to Warrior</desc>
<type>SERVICE</type>
</logEntry>
</personnelLog>
</person>
<person id="c78411a2-1375-46e1-a11f-db0dfc825810" type="mekhq.campaign.personnel.Person">
<id>c78411a2-1375-46e1-a11f-db0dfc825810</id>
<givenName>Linders</givenName>
<surname></surname>
<primaryRole>1</primaryRole>
<faction>CJF</faction>
<clan>true</clan>
<phenotype>MEKWARRIOR</phenotype>
<biography>MekWarrior Linders is, much like Alpha Beakâ's MekWarrior Allen, a simple warrior
with few aspirations. Unlike Allen, though, Linders is not a quiet man. He is much the
opposite, in fact—so much so that his Starmates will leave the room if they hear him
getting started on one of his stories. In combat the Star has two frequencies; the Star
channel Linders knows about and the other, quieter one he does not. The only reason he
hasnâ't been dismissed from Star Commander von Jankmonâ's Star is his skill in his Timber
Wolf. Linders makes a fine courser for Nicolaâ's Kodiak, and she uses him in that role. Many
enemies who would run from a Timber Wolf are surprised to find an assault-class Kodiak
waiting to challenge them, while Linders turns away to find his own opponents.
The fighting with the Second Wolf Legion on Deia produced a change in Linders, one that he
has not entirely sorted out. During those battles he was challenged by a Wolf-in-Exile
Linebacker pilot, and the two of them fought a running battle that lasted more than twenty
hours. Cut off from their respective Stars, the Linebacker retreated steadily, using his
'Mekâ's greater speed to keep out of range of Lindersâ' heavy large lasers. Linders, despite
running out of long-range missile ammunition after only three hours, refused to break off.
Few of his comrades would have suspected that he could carry a mission that far, but in the
end the Linebacker mistakenly retreated into an arroyo whose opposite end had been collapsed
by earlier fighting. Linders was able to corner the lighter
machine and destroy it, but the Wolf-in-Exile warrior was killed in the destruction of his
'Mek rather than taken bondsman. Linders returned to the Star bivouac and didnâ't speak for
two entire days. His Starmates tried to draw him out, even going to so far as to call
a medic, before he seemed to emerge from his funk. He has never spoken of that time, nor
explained what was so trying. He will not, in fact, speak of Deia at all.
Many younger Falcon warriors deride Linders for piloting an OmniMek that more commonly
associated with the Wolf Clan than the Jade Falcons, suggesting he trade the heavy OmniMek
for a Black Lanner or a Turkina. Linders ignores these warriors, or answers them with a
Trial of Grievance. He has successfully
defended his honor in three Trials since arriving in the Inner Sphere, twice defeating
warriors in OmniMeks that mass more than his Timber Wolf. He rarely reconfigures his 'Mek
out of the H configuration, preferring the heavy lasers to other weapons, even
ER PPCs. Through diligent effort he has managed to overcome the worst of the heavy lasersâ'
inherent inaccuracy, though in the stress of battle he does sometimes miss.</biography>
<portraitCategory>Pursing Peregrines/</portraitCategory>
<portraitFile>Linders.jpg</portraitFile>
<xp>0</xp>
<daysToWaitForHealing>15</daysToWaitForHealing>
<gender>MALE</gender>
<rank>4</rank>
<unitId>cdcddcc1-62e1-4e24-b3f3-640b3a24f50f</unitId>
<status>ACTIVE</status>
<birthday>3049-05-07</birthday>
<skill>
<type>Leadership</type>
<level>1</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Negotiation</type>
<level>3</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Tactics</type>
<level>2</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Medtech</type>
<level>6</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Small Arms</type>
<level>2</level>
<bonus>0</bonus>
</skill>
<skill>
<type>Piloting/Mek</type>
<level>4</level>
<bonus>1</bonus>
</skill>
<skill>
<type>Gunnery/Mek</type>
<level>4</level>
<bonus>1</bonus>
</skill>
<personnelLog>
<logEntry>
<date>3071-05-14</date>
<desc>Promoted to Warrior</desc>
<type>SERVICE</type>
</logEntry>
</personnelLog>
</person>
<person id="6a465a01-6306-47a7-bf77-be95b7860434" type="mekhq.campaign.personnel.Person">
<id>6a465a01-6306-47a7-bf77-be95b7860434</id>
<givenName>Edward</givenName>
<surname></surname>
<primaryRole>1</primaryRole>
<faction>CJF</faction>
<clan>true</clan>
<phenotype>MEKWARRIOR</phenotype>
<biography>Edward has led a solid, if uninspiring, career as a Jade Falcon MekWarrior. He is
one of those warriors who does their job without flair, which has kept him from ever rising
higher than Star Commanderâ's rank. The pinnacle of his career was the Jade Falcon offensive
that reached Coventry, when he served beneath Star Colonel Arimas Malthus. Since that time
heâ's been
fighting the inertia of a Clan warrior whoâ's unable to distinguish himself, hoping to find
some way to earn back his ascendancy. His assignment to Binary Bravo is the first light
heâ's seen in a long time—both because he believes Star Captain Ingried will bring him
opportunities for glory and because he has the living,
b
gitextract_whcc6x_9/ ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── request_for_enhancement.yml │ ├── codecov.yml │ ├── dependabot.yml │ └── workflows/ │ ├── checkstyle.yml │ ├── ci.yml │ ├── code-coverage.yml │ ├── codeql-analysis.yml │ ├── dependency-scan.yml │ ├── java-doc-pr.yml │ ├── java-doc.yml │ └── nightly-ci.yml ├── .gitignore ├── .mailmap ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTORS.md ├── LICENSE ├── LICENSE.assets ├── LICENSE.code ├── MHQMorale-Simulation-Analysis.txt ├── MekHQ/ │ ├── SubmitBug.html │ ├── build.gradle │ ├── campaigns/ │ │ └── archive/ │ │ ├── Fist and Falcon/ │ │ │ ├── Binary Bravo, 1st Falcon Strikers.cpnx │ │ │ └── Kewran Wolfhounds, C Company, 3rd Battalion, 25th Arcturan Guards RCT.cpnx │ │ ├── Sword and Dragon/ │ │ │ ├── Fox's Teeth, McKinnon's Company, Vausur's Battalion, Seventh Crucis Lancers RCT.cpnx │ │ │ └── Sorenson Sabres, Jisatsu Company, Otomo, formerly Third Company, Tarwater's Battalion, Fifth Sword of Light.cpnx │ │ └── Wolf and Blake/ │ │ ├── Black Widow Company, Church's Independent Company, Wolf's Dragoons.cpnx │ │ └── Shadow Hunters, Opacus Venatori, Fifty-second Shadow Division.cpnx │ ├── config/ │ │ └── checkstyle/ │ │ ├── checkstyle.xml │ │ └── suppressions.xml │ ├── docs/ │ │ ├── SarnaCartographyImport.md │ │ ├── Scenario Template Editor.html │ │ ├── StratCon/ │ │ │ ├── Custom RATs.txt │ │ │ ├── MHQ_noble_playset_v0.31.xlsx │ │ │ ├── Stratcon_Tips.md │ │ │ └── stratcon-faq-2.6.md │ │ ├── UserDirHelp.html │ │ ├── Windchilds Guides/ │ │ │ ├── Windchilds_Guide_to_Force_Icons.txt │ │ │ ├── Windchilds_Guide_to_MekHQ_Portrait_Generation.txt │ │ │ └── Windchilds_Guide_to_Ranks.txt │ │ ├── advanced_medical_overview.md │ │ ├── custom_spa.md │ │ ├── help/ │ │ │ └── en/ │ │ │ └── AutoResolve.html │ │ ├── history.txt │ │ ├── long-term-injury.md │ │ └── scenariomodifiers.md │ ├── mmconf/ │ │ ├── customWeaponOrder.xml │ │ ├── defaultKeyBinds.xml │ │ ├── defaultQuirks.xml │ │ ├── defaultQuirksSchema.xsl │ │ ├── defaultSkin.xml │ │ ├── keyBindingSchema.xsd │ │ ├── log4j2.xml │ │ ├── milestoneReleases.yml │ │ ├── non_combat_units_list.conf │ │ ├── princessBehaviors.xml │ │ ├── skinSchema.xsl │ │ └── skins/ │ │ ├── BW - Capellan Confederation.xml │ │ ├── BW - Circinus Federation.xml │ │ ├── BW - Clan Blood Spirit.xml │ │ ├── BW - Clan Burrock.xml │ │ ├── BW - Clan Cloud Cobra.xml │ │ ├── BW - Clan Coyote.xml │ │ ├── BW - Clan Diamond Shark.xml │ │ ├── BW - Clan Fire Mandrill.xml │ │ ├── BW - Clan Ghost Bear.xml │ │ ├── BW - Clan Goliath Scorpion.xml │ │ ├── BW - Clan Hell's Horses.xml │ │ ├── BW - Clan Ice Hellion.xml │ │ ├── BW - Clan Jade Falcon.xml │ │ ├── BW - Clan Mongoose.xml │ │ ├── BW - Clan Nova Cat.xml │ │ ├── BW - Clan Sea Fox.xml │ │ ├── BW - Clan Smoke Jaguar.xml │ │ ├── BW - Clan Snow Raven.xml │ │ ├── BW - Clan Star Adder.xml │ │ ├── BW - Clan Steel Viper.xml │ │ ├── BW - Clan Widowmaker.xml │ │ ├── BW - Clan Wolf.xml │ │ ├── BW - Clan Wolverine.xml │ │ ├── BW - ComStar.xml │ │ ├── BW - Default.xml │ │ ├── BW - Draconis Combine.xml │ │ ├── BW - Eridani Light Horse.xml │ │ ├── BW - Federated Commonwealth.xml │ │ ├── BW - Federated Suns.xml │ │ ├── BW - Free Rasalhague Republic.xml │ │ ├── BW - Free Worlds League.xml │ │ ├── BW - Gray Death Legion.xml │ │ ├── BW - Kell Hounds.xml │ │ ├── BW - Lyran Alliance.xml │ │ ├── BW - Lyran Commonwealth.xml │ │ ├── BW - Magistracy of Canopus.xml │ │ ├── BW - Marian Hegemony.xml │ │ ├── BW - McCarron's Armored Calvary.xml │ │ ├── BW - Mercenary 3052.xml │ │ ├── BW - Mercenary.xml │ │ ├── BW - Northwind Highlanders.xml │ │ ├── BW - Oberon Confederation.xml │ │ ├── BW - Outworlds Alliance.xml │ │ ├── BW - Rim Worlds Republic.xml │ │ ├── BW - Snord's Irregulars.xml │ │ ├── BW - St Ives Compact.xml │ │ ├── BW - Star League.xml │ │ ├── BW - Taurian Concordat.xml │ │ ├── BW - Terran Hegemony.xml │ │ ├── BW - Wolf's Dragoons.xml │ │ ├── BW - Word of Blake.xml │ │ ├── defaultSkin.xml │ │ ├── defaultSkinScrollBars.xml │ │ ├── plainSkin.xml │ │ └── plainSkinScrollBars.xml │ ├── resources/ │ │ ├── META-INF/ │ │ │ └── services/ │ │ │ └── mekhq.module.api.PersonnelMarketMethod │ │ ├── log4j2.component.properties │ │ └── mekhq/ │ │ └── resources/ │ │ ├── ATOWLegalityRating.properties │ │ ├── AbortingResolveScenarioWizard.properties │ │ ├── AbstractProcreation.properties │ │ ├── AcquisitionsType.properties │ │ ├── AddFundsDialog.properties │ │ ├── AddOrEditKillEntryDialog.properties │ │ ├── AddOrEditScenarioEntryDialog.properties │ │ ├── AdvancedMedicalAlternateHealing.properties │ │ ├── AdvancedReplacementLimbDialog.properties │ │ ├── AdvancedScoutingCampaignOptionsChangedConfirmationDialog.properties │ │ ├── Aggression.properties │ │ ├── AgingMilestone.properties │ │ ├── AlertPopup.properties │ │ ├── AltAdvancedMedicalCampaignOptionsChangedConfirmationDialog.properties │ │ ├── AlternateInjuries.properties │ │ ├── Ambition.properties │ │ ├── ApplicantTableColumns.properties │ │ ├── Appraisal.properties │ │ ├── AssignForceToTransport.properties │ │ ├── AtBConfigDefaults.properties │ │ ├── AtBContract.properties │ │ ├── AtBDynamicScenarioFactory.properties │ │ ├── AtBScenarioBuiltIn.properties │ │ ├── AtBScenarioViewPanel.properties │ │ ├── AtBStratCon.properties │ │ ├── AtbMonthlyContractMarket.properties │ │ ├── AttributeCheckUtility.properties │ │ ├── AutoAwardsDialog.properties │ │ ├── AutoResolveBehaviorSettingsDialog.properties │ │ ├── AutoResolveBehaviorSettingsDialog_en.properties │ │ ├── AutomatedTechAssignments.properties │ │ ├── BatchXPDialog.properties │ │ ├── BirthAnnouncement.properties │ │ ├── BloodGroup.properties │ │ ├── Bloodmark.properties │ │ ├── BoardScalingType.properties │ │ ├── CamOpsReputation.properties │ │ ├── CamOpsSalvage.properties │ │ ├── Campaign.properties │ │ ├── CampaignExportWizard.properties │ │ ├── CampaignGUI.properties │ │ ├── CampaignHasProblemOnLoad.properties │ │ ├── CampaignOptionsDialog.properties │ │ ├── CampaignOptionsPresetPicker.properties │ │ ├── CampaignSummary.properties │ │ ├── CampaignUpgradeDialog.properties │ │ ├── CampaignXmlParser.properties │ │ ├── ChooseFactionsDialog.properties │ │ ├── ChooseMulFilesDialog.properties │ │ ├── ChooseRefitDialog.properties │ │ ├── ComingOfAgeAnnouncement.properties │ │ ├── CommandersDayAnnouncement.properties │ │ ├── ContractAutomation.properties │ │ ├── ContractMarketDialog.properties │ │ ├── ContractPaymentBreakdown.properties │ │ ├── ContractViewPanel.properties │ │ ├── CreateCharacterDialog.properties │ │ ├── CurrentLocation.properties │ │ ├── CustomizeBotForceDialog.properties │ │ ├── CustomizeMissionDialog.properties │ │ ├── CustomizePersonDialog.properties │ │ ├── CustomizeScenarioDialog.properties │ │ ├── CustomizeScenarioObjectiveDialog.properties │ │ ├── DailyReportType.properties │ │ ├── DateChooser.properties │ │ ├── DiminishingReturnsCampaignOptionsChangedConfirmationDialog.properties │ │ ├── DiplomacyReport.properties │ │ ├── DiplomacyType.properties │ │ ├── DiscretionarySpending.properties │ │ ├── DocumentationEntry.properties │ │ ├── EasyBugReport.properties │ │ ├── EditAssetDialog.properties │ │ ├── EditDeploymentDialog.properties │ │ ├── EditInjuryEntryDialog.properties │ │ ├── EditKillLogControl.properties │ │ ├── EditKillLogDialog.properties │ │ ├── EditMapSettingsDialog.properties │ │ ├── EditPersonnelHitsDialog.properties │ │ ├── EditPersonnelInjuriesDialog.properties │ │ ├── EditPersonnelLogControl.properties │ │ ├── EditPersonnelLogDialog.properties │ │ ├── EditScenarioDeploymentLimitsDialog.properties │ │ ├── EditScenarioLogControl.properties │ │ ├── EditScenarioLogDialog.properties │ │ ├── EditTransactionDialog.properties │ │ ├── Education.properties │ │ ├── EscapeArtist.properties │ │ ├── ExtraIncome.properties │ │ ├── FacilityRentals.properties │ │ ├── FactionJudgmentDialog.properties │ │ ├── FactionJudgmentNewsArticle.properties │ │ ├── FactionJudgmentSceneDialog.properties │ │ ├── FactionStandingGreeting.properties │ │ ├── FactionStandingJudgments.properties │ │ ├── FactionStandingLevel.properties │ │ ├── FactionStandingUltimatumDialog.properties │ │ ├── FactionStandings.properties │ │ ├── FamilyTreeDialog.properties │ │ ├── Fatigue.properties │ │ ├── FatigueTrackingCampaignOptionsChangedConfirmationDialog.properties │ │ ├── Finances.properties │ │ ├── FinancesTab.properties │ │ ├── ForceTemplateAssignmentDialog.properties │ │ ├── ForceType.properties │ │ ├── ForceViewPanel.properties │ │ ├── FormationLevel.properties │ │ ├── FreedomDayAnnouncement.properties │ │ ├── FullGlossaryDialog.properties │ │ ├── GUI.properties │ │ ├── GUI_en_US.properties │ │ ├── Glossary.properties │ │ ├── GlossaryEntry.properties │ │ ├── GrayMonday.properties │ │ ├── Greed.properties │ │ ├── HireBulkPersonnelDialog.properties │ │ ├── HistoricalDailyReportDialog.properties │ │ ├── ImmersiveDialogConfirmation.properties │ │ ├── InjuryEffect.properties │ │ ├── Inoculations.properties │ │ ├── JumpBlockers.properties │ │ ├── JumpPathViewPanel.properties │ │ ├── LogEntries.properties │ │ ├── LogEntries_en_US.properties │ │ ├── Loot.properties │ │ ├── MASHTheatreTrackingCampaignOptionsChangedConfirmationDialog.properties │ │ ├── MHQMorale.properties │ │ ├── MRMS.properties │ │ ├── Maintenance.properties │ │ ├── ManageAssetsDialog.properties │ │ ├── MaplessStratConForcePicker.properties │ │ ├── MaplessStratConScenarioPicker.properties │ │ ├── MarginOfSuccess.properties │ │ ├── Market.properties │ │ ├── MedicalController.properties │ │ ├── MedicalViewDialog.properties │ │ ├── MekHQ.properties │ │ ├── MekHQAboutBox.properties │ │ ├── MekLabTab.properties │ │ ├── MekViewDialog.properties │ │ ├── MercRosterDialog.properties │ │ ├── MercenaryAuctionDialog.properties │ │ ├── Mission.properties │ │ ├── MissionTypeDialog.properties │ │ ├── Mission_en_US.properties │ │ ├── NagDialogs.properties │ │ ├── NewContractDialog.properties │ │ ├── NewGlossaryDialog.properties │ │ ├── NewLoanDialog.properties │ │ ├── NewPlanetaryEventDialog.properties │ │ ├── NewPlayerQuickstartDialog.properties │ │ ├── NewRecruitDialog.properties │ │ ├── NewYearsDayAnnouncement.properties │ │ ├── NewsDialog.properties │ │ ├── NormalizedContractPayCampaignOptionsChangedConfirmationDialog.properties │ │ ├── Parts.properties │ │ ├── PartsInUseTableModel.properties │ │ ├── PartsReportDialog.properties │ │ ├── PartsStoreDialog.properties │ │ ├── PartsTableModel.properties │ │ ├── PayCollateralDialog.properties │ │ ├── PerformBatchall.properties │ │ ├── PersonViewPanel.properties │ │ ├── PersonalityQuirk.properties │ │ ├── PersonalityTraitType.properties │ │ ├── Personnel.properties │ │ ├── PersonnelEventLogModel.properties │ │ ├── PersonnelKillLogModel.properties │ │ ├── PersonnelMarket.properties │ │ ├── PersonnelMarketDialog.properties │ │ ├── PersonnelMarketStyle.properties │ │ ├── PersonnelReport.properties │ │ ├── PersonnelRole.properties │ │ ├── PersonnelRoleSubType.properties │ │ ├── PersonnelStatus.properties │ │ ├── Phenotype.properties │ │ ├── PlanetViewPanel.properties │ │ ├── PopupValueChoiceDialog.properties │ │ ├── PrisonerCaptureStyle.properties │ │ ├── PrisonerEvents.properties │ │ ├── PrisonerStatus.properties │ │ ├── PrisonerTrackingCampaignOptionsChangedConfirmationDialog.properties │ │ ├── ProcurementPersonnelPick.properties │ │ ├── ProstheticComplexity.properties │ │ ├── ProstheticType.properties │ │ ├── QuickTrainDialog.properties │ │ ├── RandomDeath.properties │ │ ├── RandomDependents.properties │ │ ├── RandomMercenaryCompanyNameGenerator.properties │ │ ├── Ranks.properties │ │ ├── Rating.properties │ │ ├── Reasoning.properties │ │ ├── RefitNameDialog.properties │ │ ├── ReplacementLimbDialog.properties │ │ ├── Reports.properties │ │ ├── ResolveScenarioTracker.properties │ │ ├── ResolveScenarioWizardDialog.properties │ │ ├── Resupply.properties │ │ ├── ResupplyConvoyChoice.properties │ │ ├── RetirementDefectionDialog.properties │ │ ├── RetirementDefectionTracker.properties │ │ ├── RiotScenario.properties │ │ ├── RoninOffer.properties │ │ ├── SalvageCampaignOptionsChangedConfirmationDialog.properties │ │ ├── SalvageFormationData.properties │ │ ├── SalvageFormationPicker.properties │ │ ├── SalvageTechPicker.properties │ │ ├── ScenarioTableModel.properties │ │ ├── ScenarioViewPanel.properties │ │ ├── ScenarioWizardLanceRenderer.properties │ │ ├── ShoppingListDialog.properties │ │ ├── Skill.properties │ │ ├── SkillAttribute.properties │ │ ├── SkillCheckDialog.properties │ │ ├── SkillCheckUtility.properties │ │ ├── SkillDeprecationTool.properties │ │ ├── SkillType.properties │ │ ├── SmallSVAmmoSwapDialog.properties │ │ ├── Social.properties │ │ ├── SpecialAbilityPanel.properties │ │ ├── StratConConvoyCampaignOptionsChangedConfirmationDialog.properties │ │ ├── StratConPlayType.properties │ │ ├── StratConReinforcementsConfirmationDialog.properties │ │ ├── StratConRulesManager.properties │ │ ├── StratConSinglesReinforcementsDialog.properties │ │ ├── TextAreaDialog.properties │ │ ├── TransportCostCalculations.properties │ │ ├── TutorialHyperlinkPanel.properties │ │ ├── Unit.properties │ │ ├── UnitTableModel.properties │ │ ├── UnitViewPanel.properties │ │ ├── Universe.properties │ │ ├── Utilities.properties │ │ ├── VeterancyAwardsCampaignOptionsChangedConfirmationDialog.properties │ │ ├── VocationalExperienceAwardDialog.properties │ │ ├── VoiceOfKerensky.properties │ │ ├── WarAndPeaceProcessor.properties │ │ ├── WinterHolidayAnnouncement.properties │ │ └── messages.properties │ ├── scripts/ │ │ └── shell.sh │ ├── sentry.properties │ ├── settings.gradle │ ├── src/ │ │ └── mekhq/ │ │ ├── AtBGameThread.java │ │ ├── CampaignPreset.java │ │ ├── GameThread.java │ │ ├── IconPackage.java │ │ ├── MHQConstants.java │ │ ├── MHQOptions.java │ │ ├── MHQOptionsChangedEvent.java │ │ ├── MHQStaticDirectoryManager.java │ │ ├── MekHQ.java │ │ ├── NullEntityException.java │ │ ├── Utilities.java │ │ ├── adapter/ │ │ │ └── DateAdapter.java │ │ ├── campaign/ │ │ │ ├── AwardSet.java │ │ │ ├── Campaign.java │ │ │ ├── CampaignConfiguration.java │ │ │ ├── CampaignController.java │ │ │ ├── CampaignEventProcessor.java │ │ │ ├── CampaignFactory.java │ │ │ ├── CampaignNewDayManager.java │ │ │ ├── CampaignSummary.java │ │ │ ├── CampaignTransporterMap.java │ │ │ ├── CurrentLocation.java │ │ │ ├── ExtraData.java │ │ │ ├── GameEffect.java │ │ │ ├── Hangar.java │ │ │ ├── JumpPath.java │ │ │ ├── Kill.java │ │ │ ├── OptimizeInfirmaryAssignments.java │ │ │ ├── Quartermaster.java │ │ │ ├── RandomOriginOptions.java │ │ │ ├── ResolveScenarioTracker.java │ │ │ ├── Warehouse.java │ │ │ ├── againstTheBot/ │ │ │ │ ├── AtBConfiguration.java │ │ │ │ ├── AtBStaticWeightGenerator.java │ │ │ │ ├── DatedRecord.java │ │ │ │ └── WeightedTable.java │ │ │ ├── autoResolve/ │ │ │ │ ├── AutoResolveMethod.java │ │ │ │ ├── MekHQSetupForces.java │ │ │ │ ├── OrderFactory.java │ │ │ │ ├── ScenarioSetupForces.java │ │ │ │ └── StratConSetupForces.java │ │ │ ├── camOpsReputation/ │ │ │ │ ├── AbstractUnitRating.java │ │ │ │ ├── AverageExperienceRating.java │ │ │ │ ├── CombatRecordRating.java │ │ │ │ ├── CommandRating.java │ │ │ │ ├── CrimeRating.java │ │ │ │ ├── FieldManualMercRevDragoonsRating.java │ │ │ │ ├── FinancialRating.java │ │ │ │ ├── IUnitRating.java │ │ │ │ ├── OtherModifiers.java │ │ │ │ ├── ReputationController.java │ │ │ │ ├── SupportRating.java │ │ │ │ ├── TransportationRating.java │ │ │ │ └── UnitRatingMethod.java │ │ │ ├── campaignOptions/ │ │ │ │ ├── AcquisitionsType.java │ │ │ │ ├── BoardScalingType.java │ │ │ │ ├── CampaignOptions.java │ │ │ │ ├── CampaignOptionsFreebieTracker.java │ │ │ │ ├── CampaignOptionsMarshaller.java │ │ │ │ └── CampaignOptionsUnmarshaller.java │ │ │ ├── enums/ │ │ │ │ ├── CampaignTransportType.java │ │ │ │ ├── DailyReportType.java │ │ │ │ ├── DragoonRating.java │ │ │ │ └── PlanetaryAcquisitionFactionLimit.java │ │ │ ├── events/ │ │ │ │ ├── AcquisitionEvent.java │ │ │ │ ├── AsTechPoolChangedEvent.java │ │ │ │ ├── BattleArmorPoolChangedEvent.java │ │ │ │ ├── CampaignEvent.java │ │ │ │ ├── DayEndingEvent.java │ │ │ │ ├── DeploymentChangedEvent.java │ │ │ │ ├── GMModeEvent.java │ │ │ │ ├── LocationChangedEvent.java │ │ │ │ ├── MarketNewPersonnelEvent.java │ │ │ │ ├── MedicPoolChangedEvent.java │ │ │ │ ├── NetworkChangedEvent.java │ │ │ │ ├── NewDayEvent.java │ │ │ │ ├── OptionsChangedEvent.java │ │ │ │ ├── OrganizationChangedEvent.java │ │ │ │ ├── OvertimeModeEvent.java │ │ │ │ ├── ProcurementEvent.java │ │ │ │ ├── RepairStatusChangedEvent.java │ │ │ │ ├── ReportEvent.java │ │ │ │ ├── SoldierPoolChangedEvent.java │ │ │ │ ├── StratConDeploymentEvent.java │ │ │ │ ├── TransitCompleteEvent.java │ │ │ │ ├── VehicleCrewGroundPoolChangedEvent.java │ │ │ │ ├── VehicleCrewNavalPoolChangedEvent.java │ │ │ │ ├── VehicleCrewVTOLPoolChangedEvent.java │ │ │ │ ├── VesselCrewPoolChangedEvent.java │ │ │ │ ├── VesselGunnerPoolChangedEvent.java │ │ │ │ ├── VesselPilotPoolChangedEvent.java │ │ │ │ ├── assets/ │ │ │ │ │ ├── AssetChangedEvent.java │ │ │ │ │ ├── AssetEvent.java │ │ │ │ │ ├── AssetNewEvent.java │ │ │ │ │ └── AssetRemovedEvent.java │ │ │ │ ├── loans/ │ │ │ │ │ ├── LoanDefaultedEvent.java │ │ │ │ │ ├── LoanEvent.java │ │ │ │ │ ├── LoanNewEvent.java │ │ │ │ │ ├── LoanPaidEvent.java │ │ │ │ │ └── LoanRemovedEvent.java │ │ │ │ ├── missions/ │ │ │ │ │ ├── MissionChangedEvent.java │ │ │ │ │ ├── MissionCompletedEvent.java │ │ │ │ │ ├── MissionEvent.java │ │ │ │ │ ├── MissionNewEvent.java │ │ │ │ │ └── MissionRemovedEvent.java │ │ │ │ ├── parts/ │ │ │ │ │ ├── PartArrivedEvent.java │ │ │ │ │ ├── PartAssignmentEvent.java │ │ │ │ │ ├── PartChangedEvent.java │ │ │ │ │ ├── PartEvent.java │ │ │ │ │ ├── PartModeChangedEvent.java │ │ │ │ │ ├── PartNewEvent.java │ │ │ │ │ ├── PartRemovedEvent.java │ │ │ │ │ └── PartWorkEvent.java │ │ │ │ ├── persons/ │ │ │ │ │ ├── PersonBattleFinishedEvent.java │ │ │ │ │ ├── PersonChangedEvent.java │ │ │ │ │ ├── PersonCrewAssignmentEvent.java │ │ │ │ │ ├── PersonEvent.java │ │ │ │ │ ├── PersonForceAssignmentEvent.java │ │ │ │ │ ├── PersonLogEvent.java │ │ │ │ │ ├── PersonMedicalAssignmentEvent.java │ │ │ │ │ ├── PersonNewEvent.java │ │ │ │ │ ├── PersonRemovedEvent.java │ │ │ │ │ ├── PersonStatusChangedEvent.java │ │ │ │ │ └── PersonTechAssignmentEvent.java │ │ │ │ ├── scenarios/ │ │ │ │ │ ├── ScenarioChangedEvent.java │ │ │ │ │ ├── ScenarioEvent.java │ │ │ │ │ ├── ScenarioNewEvent.java │ │ │ │ │ ├── ScenarioRemovedEvent.java │ │ │ │ │ └── ScenarioResolvedEvent.java │ │ │ │ ├── transactions/ │ │ │ │ │ ├── TransactionChangedEvent.java │ │ │ │ │ ├── TransactionCreditEvent.java │ │ │ │ │ ├── TransactionDebitEvent.java │ │ │ │ │ ├── TransactionEvent.java │ │ │ │ │ └── TransactionVoidedEvent.java │ │ │ │ └── units/ │ │ │ │ ├── UnitArrivedEvent.java │ │ │ │ ├── UnitChangedEvent.java │ │ │ │ ├── UnitEvent.java │ │ │ │ ├── UnitNewEvent.java │ │ │ │ ├── UnitRefitEvent.java │ │ │ │ └── UnitRemovedEvent.java │ │ │ ├── finances/ │ │ │ │ ├── Accountant.java │ │ │ │ ├── Asset.java │ │ │ │ ├── Currency.java │ │ │ │ ├── CurrencyDataLookupWriter.java │ │ │ │ ├── CurrencyManager.java │ │ │ │ ├── Finances.java │ │ │ │ ├── FinancialReport.java │ │ │ │ ├── Loan.java │ │ │ │ ├── Money.java │ │ │ │ ├── Transaction.java │ │ │ │ ├── XmlMoneyParser.java │ │ │ │ ├── XmlMoneyWriter.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── FinancialTerm.java │ │ │ │ │ ├── FinancialYearDuration.java │ │ │ │ │ └── TransactionType.java │ │ │ │ └── financialInstitutions/ │ │ │ │ ├── FinancialInstitution.java │ │ │ │ └── FinancialInstitutions.java │ │ │ ├── force/ │ │ │ │ ├── CombatTeam.java │ │ │ │ ├── Formation.java │ │ │ │ ├── FormationLevel.java │ │ │ │ ├── FormationStub.java │ │ │ │ ├── FormationType.java │ │ │ │ └── UnitStub.java │ │ │ ├── handler/ │ │ │ │ ├── PostScenarioDialogHandler.java │ │ │ │ └── XPHandler.java │ │ │ ├── icons/ │ │ │ │ ├── FormationPieceIcon.java │ │ │ │ ├── LayeredFormationIcon.java │ │ │ │ ├── StandardFormationIcon.java │ │ │ │ ├── UnitIcon.java │ │ │ │ └── enums/ │ │ │ │ ├── LayeredFormationIconLayer.java │ │ │ │ └── OperationalStatus.java │ │ │ ├── io/ │ │ │ │ ├── CampaignXmlParseException.java │ │ │ │ └── CampaignXmlParser.java │ │ │ ├── log/ │ │ │ │ ├── AssignmentLogEntry.java │ │ │ │ ├── AssignmentLogger.java │ │ │ │ ├── AwardLogEntry.java │ │ │ │ ├── AwardLogger.java │ │ │ │ ├── CustomLogEntry.java │ │ │ │ ├── HistoricalLogEntry.java │ │ │ │ ├── LogEntry.java │ │ │ │ ├── LogEntryFactory.java │ │ │ │ ├── LogEntryType.java │ │ │ │ ├── MedicalLogEntry.java │ │ │ │ ├── MedicalLogger.java │ │ │ │ ├── PatientLogEntry.java │ │ │ │ ├── PatientLogger.java │ │ │ │ ├── PerformanceLogEntry.java │ │ │ │ ├── PerformanceLogger.java │ │ │ │ ├── PersonalLogEntry.java │ │ │ │ ├── PersonalLogger.java │ │ │ │ ├── ServiceLogEntry.java │ │ │ │ └── ServiceLogger.java │ │ │ ├── market/ │ │ │ │ ├── PartsInUseManager.java │ │ │ │ ├── PartsStore.java │ │ │ │ ├── PersonnelMarket.java │ │ │ │ ├── PersonnelMarketCampaignOps.java │ │ │ │ ├── PersonnelMarketDisabled.java │ │ │ │ ├── PersonnelMarketDylan.java │ │ │ │ ├── PersonnelMarketFMMr.java │ │ │ │ ├── PersonnelMarketRandom.java │ │ │ │ ├── ShoppingList.java │ │ │ │ ├── contractMarket/ │ │ │ │ │ ├── AbstractContractMarket.java │ │ │ │ │ ├── AlternatePaymentModelValues.java │ │ │ │ │ ├── AtbMonthlyContractMarket.java │ │ │ │ │ ├── CamOpsContractMarket.java │ │ │ │ │ ├── ContractAutomation.java │ │ │ │ │ ├── ContractTerms.java │ │ │ │ │ ├── ContractTypePicker.java │ │ │ │ │ ├── DisabledContractMarket.java │ │ │ │ │ └── MissionSelector.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── ContractMarketMethod.java │ │ │ │ │ ├── UnitMarketMethod.java │ │ │ │ │ ├── UnitMarketRarity.java │ │ │ │ │ └── UnitMarketType.java │ │ │ │ ├── personnelMarket/ │ │ │ │ │ ├── enums/ │ │ │ │ │ │ └── PersonnelMarketStyle.java │ │ │ │ │ ├── markets/ │ │ │ │ │ │ ├── NewPersonnelMarket.java │ │ │ │ │ │ ├── PersonnelMarketCamOpsRevised.java │ │ │ │ │ │ ├── PersonnelMarketCamOpsStrict.java │ │ │ │ │ │ └── PersonnelMarketMekHQ.java │ │ │ │ │ ├── records/ │ │ │ │ │ │ └── PersonnelMarketEntry.java │ │ │ │ │ └── yaml/ │ │ │ │ │ └── PersonnelMarketLibraries.java │ │ │ │ ├── procurement/ │ │ │ │ │ └── Procurement.java │ │ │ │ └── unitMarket/ │ │ │ │ ├── AbstractUnitMarket.java │ │ │ │ ├── AtBMonthlyUnitMarket.java │ │ │ │ ├── DisabledUnitMarket.java │ │ │ │ └── UnitMarketOffer.java │ │ │ ├── mission/ │ │ │ │ ├── AtBContract.java │ │ │ │ ├── AtBDynamicScenario.java │ │ │ │ ├── AtBDynamicScenarioFactory.java │ │ │ │ ├── AtBScenario.java │ │ │ │ ├── BotForce.java │ │ │ │ ├── BotForceRandomizer.java │ │ │ │ ├── BotForceStub.java │ │ │ │ ├── CommonObjectiveFactory.java │ │ │ │ ├── Contract.java │ │ │ │ ├── ContractScore.java │ │ │ │ ├── CrewSkillUpgrader.java │ │ │ │ ├── IPlayerSettings.java │ │ │ │ ├── Loot.java │ │ │ │ ├── MHQMorale.java │ │ │ │ ├── Mission.java │ │ │ │ ├── ObjectiveEffect.java │ │ │ │ ├── Scenario.java │ │ │ │ ├── ScenarioDeploymentLimit.java │ │ │ │ ├── ScenarioForceTemplate.java │ │ │ │ ├── ScenarioMapParameters.java │ │ │ │ ├── ScenarioObjective.java │ │ │ │ ├── ScenarioObjectiveProcessor.java │ │ │ │ ├── ScenarioTemplate.java │ │ │ │ ├── TerrainConditionsOdds.java │ │ │ │ ├── TerrainConditionsOddsManifest.java │ │ │ │ ├── TransportCostCalculations.java │ │ │ │ ├── atb/ │ │ │ │ │ ├── AtBScenarioEnabled.java │ │ │ │ │ ├── AtBScenarioFactory.java │ │ │ │ │ ├── AtBScenarioManifest.java │ │ │ │ │ ├── AtBScenarioModifier.java │ │ │ │ │ ├── AtBScenarioModifierApplicator.java │ │ │ │ │ ├── IAtBScenario.java │ │ │ │ │ ├── ScenarioModifierManifest.java │ │ │ │ │ └── scenario/ │ │ │ │ │ ├── AceDuelBuiltInScenario.java │ │ │ │ │ ├── AlliedTraitorsBuiltInScenario.java │ │ │ │ │ ├── AllyRescueBuiltInScenario.java │ │ │ │ │ ├── AmbushBuiltInScenario.java │ │ │ │ │ ├── BaseAttackBuiltInScenario.java │ │ │ │ │ ├── BreakthroughBuiltInScenario.java │ │ │ │ │ ├── ChaseBuiltInScenario.java │ │ │ │ │ ├── CivilianHelpBuiltInScenario.java │ │ │ │ │ ├── CivilianRiotBuiltInScenario.java │ │ │ │ │ ├── ConvoyAttackBuiltInScenario.java │ │ │ │ │ ├── ConvoyRescueBuiltInScenario.java │ │ │ │ │ ├── ExtractionBuiltInScenario.java │ │ │ │ │ ├── HideAndSeekBuiltInScenario.java │ │ │ │ │ ├── HoldTheLineBuiltInScenario.java │ │ │ │ │ ├── OfficerDuelBuiltInScenario.java │ │ │ │ │ ├── PirateFreeForAllBuiltInScenario.java │ │ │ │ │ ├── PrisonBreakBuiltInScenario.java │ │ │ │ │ ├── ProbeBuiltInScenario.java │ │ │ │ │ ├── ReconRaidBuiltInScenario.java │ │ │ │ │ ├── StandUpBuiltInScenario.java │ │ │ │ │ ├── StarLeagueCache1BuiltInScenario.java │ │ │ │ │ └── StarLeagueCache2BuiltInScenario.java │ │ │ │ ├── camOpsSalvage/ │ │ │ │ │ ├── CamOpsSalvageUtilities.java │ │ │ │ │ ├── RecoveryTimeCalculations.java │ │ │ │ │ ├── RecoveryTimeData.java │ │ │ │ │ ├── SalvageFormationData.java │ │ │ │ │ └── SalvageTechData.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── AtBContractType.java │ │ │ │ │ ├── AtBEventType.java │ │ │ │ │ ├── AtBMoraleLevel.java │ │ │ │ │ ├── CombatRole.java │ │ │ │ │ ├── ContractCommandRights.java │ │ │ │ │ ├── MissionStatus.java │ │ │ │ │ ├── ScenarioStatus.java │ │ │ │ │ └── ScenarioType.java │ │ │ │ ├── rentals/ │ │ │ │ │ ├── ContractRentalType.java │ │ │ │ │ └── FacilityRentals.java │ │ │ │ ├── resupplyAndCaches/ │ │ │ │ │ ├── GenerateResupplyContents.java │ │ │ │ │ ├── PerformResupply.java │ │ │ │ │ ├── Resupply.java │ │ │ │ │ ├── ResupplyUtilities.java │ │ │ │ │ └── StarLeagueCache.java │ │ │ │ └── utilities/ │ │ │ │ └── ContractUtilities.java │ │ │ ├── parts/ │ │ │ │ ├── 0_warning/ │ │ │ │ │ └── warning.txt │ │ │ │ ├── AeroHeatSink.java │ │ │ │ ├── AeroLifeSupport.java │ │ │ │ ├── AeroSensor.java │ │ │ │ ├── AmmoStorage.java │ │ │ │ ├── Armor.java │ │ │ │ ├── Availability.java │ │ │ │ ├── Avionics.java │ │ │ │ ├── BAArmor.java │ │ │ │ ├── BattleArmorSuit.java │ │ │ │ ├── BayDoor.java │ │ │ │ ├── BuildingLocation.java │ │ │ │ ├── CombatInformationCenter.java │ │ │ │ ├── Cubicle.java │ │ │ │ ├── DropshipDockingCollar.java │ │ │ │ ├── EnginePart.java │ │ │ │ ├── FireControlSystem.java │ │ │ │ ├── GravDeck.java │ │ │ │ ├── InfantryAmmoStorage.java │ │ │ │ ├── InfantryArmorPart.java │ │ │ │ ├── InfantryMotiveType.java │ │ │ │ ├── JumpshipDockingCollar.java │ │ │ │ ├── LFBattery.java │ │ │ │ ├── LandingGear.java │ │ │ │ ├── MotiveSystem.java │ │ │ │ ├── OmniPod.java │ │ │ │ ├── Part.java │ │ │ │ ├── PartInUse.java │ │ │ │ ├── PartInventory.java │ │ │ │ ├── PodSpace.java │ │ │ │ ├── QuadVeeGear.java │ │ │ │ ├── Refit.java │ │ │ │ ├── Rotor.java │ │ │ │ ├── SVArmor.java │ │ │ │ ├── SVEnginePart.java │ │ │ │ ├── SpacecraftCoolingSystem.java │ │ │ │ ├── SpacecraftEngine.java │ │ │ │ ├── StructuralIntegrity.java │ │ │ │ ├── TankLocation.java │ │ │ │ ├── Thrusters.java │ │ │ │ ├── TransportBayPart.java │ │ │ │ ├── Turret.java │ │ │ │ ├── TurretLock.java │ │ │ │ ├── VeeSensor.java │ │ │ │ ├── VeeStabilizer.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── ATOWLegalityRating.java │ │ │ │ │ ├── PartQuality.java │ │ │ │ │ └── PartRepairType.java │ │ │ │ ├── equipment/ │ │ │ │ │ ├── AmmoBin.java │ │ │ │ │ ├── BattleArmorAmmoBin.java │ │ │ │ │ ├── BattleArmorEquipmentPart.java │ │ │ │ │ ├── EquipmentPart.java │ │ │ │ │ ├── HeatSink.java │ │ │ │ │ ├── InfantryAmmoBin.java │ │ │ │ │ ├── InfantryWeaponPart.java │ │ │ │ │ ├── JumpJet.java │ │ │ │ │ ├── LargeCraftAmmoBin.java │ │ │ │ │ ├── MASC.java │ │ │ │ │ ├── MissingAmmoBin.java │ │ │ │ │ ├── MissingBattleArmorEquipmentPart.java │ │ │ │ │ ├── MissingEquipmentPart.java │ │ │ │ │ ├── MissingHeatSink.java │ │ │ │ │ ├── MissingInfantryAmmoBin.java │ │ │ │ │ ├── MissingJumpJet.java │ │ │ │ │ ├── MissingLargeCraftAmmoBin.java │ │ │ │ │ └── MissingMASC.java │ │ │ │ ├── kfs/ │ │ │ │ │ ├── KFBoom.java │ │ │ │ │ ├── KFChargingSystem.java │ │ │ │ │ ├── KFDriveCoil.java │ │ │ │ │ ├── KFDriveController.java │ │ │ │ │ ├── KFFieldInitiator.java │ │ │ │ │ └── KFHeliumTank.java │ │ │ │ ├── meks/ │ │ │ │ │ ├── MekActuator.java │ │ │ │ │ ├── MekCockpit.java │ │ │ │ │ ├── MekGyro.java │ │ │ │ │ ├── MekLifeSupport.java │ │ │ │ │ ├── MekLocation.java │ │ │ │ │ └── MekSensor.java │ │ │ │ ├── missing/ │ │ │ │ │ ├── MissingAeroHeatSink.java │ │ │ │ │ ├── MissingAeroLifeSupport.java │ │ │ │ │ ├── MissingAeroSensor.java │ │ │ │ │ ├── MissingAvionics.java │ │ │ │ │ ├── MissingBattleArmorSuit.java │ │ │ │ │ ├── MissingBayDoor.java │ │ │ │ │ ├── MissingCIC.java │ │ │ │ │ ├── MissingCubicle.java │ │ │ │ │ ├── MissingDropshipDockingCollar.java │ │ │ │ │ ├── MissingEnginePart.java │ │ │ │ │ ├── MissingFireControlSystem.java │ │ │ │ │ ├── MissingGravDeck.java │ │ │ │ │ ├── MissingInfantryArmorPart.java │ │ │ │ │ ├── MissingInfantryMotiveType.java │ │ │ │ │ ├── MissingJumpshipDockingCollar.java │ │ │ │ │ ├── MissingKFBoom.java │ │ │ │ │ ├── MissingKFChargingSystem.java │ │ │ │ │ ├── MissingKFDriveCoil.java │ │ │ │ │ ├── MissingKFDriveController.java │ │ │ │ │ ├── MissingKFFieldInitiator.java │ │ │ │ │ ├── MissingKFHeliumTank.java │ │ │ │ │ ├── MissingLFBattery.java │ │ │ │ │ ├── MissingLandingGear.java │ │ │ │ │ ├── MissingMekActuator.java │ │ │ │ │ ├── MissingMekCockpit.java │ │ │ │ │ ├── MissingMekGyro.java │ │ │ │ │ ├── MissingMekLifeSupport.java │ │ │ │ │ ├── MissingMekLocation.java │ │ │ │ │ ├── MissingMekSensor.java │ │ │ │ │ ├── MissingOmniPod.java │ │ │ │ │ ├── MissingPart.java │ │ │ │ │ ├── MissingProtoMekArmActuator.java │ │ │ │ │ ├── MissingProtoMekJumpJet.java │ │ │ │ │ ├── MissingProtoMekLegActuator.java │ │ │ │ │ ├── MissingProtoMekLocation.java │ │ │ │ │ ├── MissingProtoMekSensor.java │ │ │ │ │ ├── MissingQuadVeeGear.java │ │ │ │ │ ├── MissingRotor.java │ │ │ │ │ ├── MissingSVEngine.java │ │ │ │ │ ├── MissingSpacecraftEngine.java │ │ │ │ │ ├── MissingThrusters.java │ │ │ │ │ ├── MissingTurret.java │ │ │ │ │ ├── MissingVeeSensor.java │ │ │ │ │ └── MissingVeeStabilizer.java │ │ │ │ ├── protomeks/ │ │ │ │ │ ├── ProtoMekArmActuator.java │ │ │ │ │ ├── ProtoMekArmor.java │ │ │ │ │ ├── ProtoMekJumpJet.java │ │ │ │ │ ├── ProtoMekLegActuator.java │ │ │ │ │ ├── ProtoMekLocation.java │ │ │ │ │ └── ProtoMekSensor.java │ │ │ │ └── utilities/ │ │ │ │ └── BattleArmorSuitUtility.java │ │ │ ├── personnel/ │ │ │ │ ├── Award.java │ │ │ │ ├── AwardsFactory.java │ │ │ │ ├── Bloodmark.java │ │ │ │ ├── Bloodname.java │ │ │ │ ├── Clan.java │ │ │ │ ├── CustomOption.java │ │ │ │ ├── DiscretionarySpending.java │ │ │ │ ├── Fraction.java │ │ │ │ ├── Injury.java │ │ │ │ ├── InjuryType.java │ │ │ │ ├── Modifier.java │ │ │ │ ├── NameAcquired.java │ │ │ │ ├── Person.java │ │ │ │ ├── PersonAwardController.java │ │ │ │ ├── PersonUtility.java │ │ │ │ ├── PersonnelOptions.java │ │ │ │ ├── PronounData.java │ │ │ │ ├── RandomDependents.java │ │ │ │ ├── SkillPrerequisite.java │ │ │ │ ├── SpecialAbility.java │ │ │ │ ├── advancedCharacterBuilder/ │ │ │ │ │ ├── ATOWLifeStage.java │ │ │ │ │ ├── LifePathCategory.java │ │ │ │ │ ├── LifePathDataClassLookup.java │ │ │ │ │ ├── LifePathEntryData.java │ │ │ │ │ ├── LifePathEntryDataTraitLookup.java │ │ │ │ │ └── LifePathRecord.java │ │ │ │ ├── autoAwards/ │ │ │ │ │ ├── AutoAwardsController.java │ │ │ │ │ ├── ContractAwards.java │ │ │ │ │ ├── FactionHunterAwards.java │ │ │ │ │ ├── InjuryAwards.java │ │ │ │ │ ├── KillAwards.java │ │ │ │ │ ├── MiscAwards.java │ │ │ │ │ ├── RankAwards.java │ │ │ │ │ ├── ScenarioAwards.java │ │ │ │ │ ├── ScenarioKillAwards.java │ │ │ │ │ ├── SkillAwards.java │ │ │ │ │ ├── TheatreOfWarAwards.java │ │ │ │ │ ├── TimeAwards.java │ │ │ │ │ └── TrainingAwards.java │ │ │ │ ├── backgrounds/ │ │ │ │ │ ├── BackgroundsController.java │ │ │ │ │ ├── RandomCompanyNameGenerator.java │ │ │ │ │ └── Toughness.java │ │ │ │ ├── death/ │ │ │ │ │ └── RandomDeath.java │ │ │ │ ├── divorce/ │ │ │ │ │ ├── AbstractDivorce.java │ │ │ │ │ ├── DisabledRandomDivorce.java │ │ │ │ │ └── RandomDivorce.java │ │ │ │ ├── education/ │ │ │ │ │ ├── Academy.java │ │ │ │ │ ├── AcademyFactory.java │ │ │ │ │ ├── AcademySet.java │ │ │ │ │ ├── EducationController.java │ │ │ │ │ └── TrainingCombatTeams.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── AgeGroup.java │ │ │ │ │ ├── AwardBonus.java │ │ │ │ │ ├── BabySurnameStyle.java │ │ │ │ │ ├── BloodGroup.java │ │ │ │ │ ├── BloodmarkLevel.java │ │ │ │ │ ├── ConnectionsLevel.java │ │ │ │ │ ├── ExtraIncome.java │ │ │ │ │ ├── FamilialConnectionType.java │ │ │ │ │ ├── FamilialRelationshipDisplayLevel.java │ │ │ │ │ ├── FamilialRelationshipType.java │ │ │ │ │ ├── ForceReliabilityMethod.java │ │ │ │ │ ├── FormerSpouseReason.java │ │ │ │ │ ├── GenderDescriptors.java │ │ │ │ │ ├── InjuryHiding.java │ │ │ │ │ ├── InjuryLevel.java │ │ │ │ │ ├── LeadershipMethod.java │ │ │ │ │ ├── ManeiDominiClass.java │ │ │ │ │ ├── ManeiDominiRank.java │ │ │ │ │ ├── MergingSurnameStyle.java │ │ │ │ │ ├── ModifierValue.java │ │ │ │ │ ├── MutinyMethod.java │ │ │ │ │ ├── PersonnelRole.java │ │ │ │ │ ├── PersonnelRoleSubType.java │ │ │ │ │ ├── PersonnelStatus.java │ │ │ │ │ ├── Phenotype.java │ │ │ │ │ ├── Profession.java │ │ │ │ │ ├── ROMDesignation.java │ │ │ │ │ ├── RandomDivorceMethod.java │ │ │ │ │ ├── RandomMarriageMethod.java │ │ │ │ │ ├── RandomProcreationMethod.java │ │ │ │ │ ├── RankSystemType.java │ │ │ │ │ ├── SplittingSurnameStyle.java │ │ │ │ │ ├── TenYearAgeRange.java │ │ │ │ │ ├── TimeInDisplayFormat.java │ │ │ │ │ ├── TurnoverFrequency.java │ │ │ │ │ └── education/ │ │ │ │ │ ├── AcademyType.java │ │ │ │ │ ├── EducationLevel.java │ │ │ │ │ └── EducationStage.java │ │ │ │ ├── familyTree/ │ │ │ │ │ ├── FormerSpouse.java │ │ │ │ │ └── Genealogy.java │ │ │ │ ├── generator/ │ │ │ │ │ ├── AbstractPersonnelGenerator.java │ │ │ │ │ ├── AbstractSkillGenerator.java │ │ │ │ │ ├── AbstractSpecialAbilityGenerator.java │ │ │ │ │ ├── DefaultPersonnelGenerator.java │ │ │ │ │ ├── DefaultSkillGenerator.java │ │ │ │ │ ├── DefaultSpecialAbilityGenerator.java │ │ │ │ │ ├── RandomPortraitGenerator.java │ │ │ │ │ └── SingleSpecialAbilityGenerator.java │ │ │ │ ├── lifeEvents/ │ │ │ │ │ ├── BirthAnnouncement.java │ │ │ │ │ ├── ComingOfAgeAnnouncement.java │ │ │ │ │ ├── CommandersDayAnnouncement.java │ │ │ │ │ ├── FreedomDayAnnouncement.java │ │ │ │ │ ├── NewYearsDayAnnouncement.java │ │ │ │ │ └── WinterHolidayAnnouncement.java │ │ │ │ ├── marriage/ │ │ │ │ │ ├── AbstractMarriage.java │ │ │ │ │ ├── DisabledRandomMarriage.java │ │ │ │ │ └── RandomMarriage.java │ │ │ │ ├── medical/ │ │ │ │ │ ├── BodyLocation.java │ │ │ │ │ ├── InjurySPAUtility.java │ │ │ │ │ ├── MASHCapacity.java │ │ │ │ │ ├── MedicalController.java │ │ │ │ │ ├── advancedMedical/ │ │ │ │ │ │ ├── HitLocationGen.java │ │ │ │ │ │ ├── InjuryTypes.java │ │ │ │ │ │ └── InjuryUtil.java │ │ │ │ │ └── advancedMedicalAlternate/ │ │ │ │ │ ├── AdvancedMedicalAlternate.java │ │ │ │ │ ├── AdvancedMedicalAlternateHealing.java │ │ │ │ │ ├── AdvancedMedicalAlternateImplants.java │ │ │ │ │ ├── AlternateInjuries.java │ │ │ │ │ ├── CanonicalDiseaseType.java │ │ │ │ │ ├── DiseaseService.java │ │ │ │ │ ├── DiseaseType.java │ │ │ │ │ ├── HealingMarginOfSuccessEffects.java │ │ │ │ │ ├── InjuryEffect.java │ │ │ │ │ ├── InjuryLocationData.java │ │ │ │ │ ├── InjuryLocationService.java │ │ │ │ │ ├── InjurySubType.java │ │ │ │ │ ├── Inoculations.java │ │ │ │ │ ├── ProstheticComplexity.java │ │ │ │ │ └── ProstheticType.java │ │ │ │ ├── procreation/ │ │ │ │ │ ├── AbstractProcreation.java │ │ │ │ │ ├── DisabledRandomProcreation.java │ │ │ │ │ └── RandomProcreation.java │ │ │ │ ├── ranks/ │ │ │ │ │ ├── Rank.java │ │ │ │ │ ├── RankSystem.java │ │ │ │ │ ├── RankValidator.java │ │ │ │ │ └── Ranks.java │ │ │ │ ├── skills/ │ │ │ │ │ ├── Aging.java │ │ │ │ │ ├── Appraisal.java │ │ │ │ │ ├── AttributeCheckUtility.java │ │ │ │ │ ├── Attributes.java │ │ │ │ │ ├── EscapeSkills.java │ │ │ │ │ ├── InfantryGunnerySkills.java │ │ │ │ │ ├── QuickTrain.java │ │ │ │ │ ├── RandomSkillPreferences.java │ │ │ │ │ ├── ScoutingSkills.java │ │ │ │ │ ├── Skill.java │ │ │ │ │ ├── SkillCheckUtility.java │ │ │ │ │ ├── SkillDeprecationTool.java │ │ │ │ │ ├── SkillModifierData.java │ │ │ │ │ ├── SkillType.java │ │ │ │ │ ├── Skills.java │ │ │ │ │ ├── VehicleCrewSkills.java │ │ │ │ │ └── enums/ │ │ │ │ │ ├── AgingMilestone.java │ │ │ │ │ ├── MarginOfSuccess.java │ │ │ │ │ ├── SkillAttribute.java │ │ │ │ │ └── SkillSubType.java │ │ │ │ └── turnoverAndRetention/ │ │ │ │ ├── Fatigue.java │ │ │ │ └── RetirementDefectionTracker.java │ │ │ ├── randomEvents/ │ │ │ │ ├── GrayMonday.java │ │ │ │ ├── MercenaryAuction.java │ │ │ │ ├── RandomEventLibraries.java │ │ │ │ ├── RiotScenario.java │ │ │ │ ├── RoninOffer.java │ │ │ │ ├── VoiceOfKerensky.java │ │ │ │ ├── personalities/ │ │ │ │ │ ├── PersonalityController.java │ │ │ │ │ └── enums/ │ │ │ │ │ ├── Aggression.java │ │ │ │ │ ├── Ambition.java │ │ │ │ │ ├── Greed.java │ │ │ │ │ ├── PersonalityQuirk.java │ │ │ │ │ ├── PersonalityTraitType.java │ │ │ │ │ ├── Reasoning.java │ │ │ │ │ └── Social.java │ │ │ │ └── prisoners/ │ │ │ │ ├── CapturePrisoners.java │ │ │ │ ├── EventEffectsManager.java │ │ │ │ ├── NonCombatPrisoners.java │ │ │ │ ├── PrisonEscapeScenario.java │ │ │ │ ├── PrisonerEventManager.java │ │ │ │ ├── PrisonerMissionEndEvent.java │ │ │ │ ├── PrisonerRansomEvent.java │ │ │ │ ├── RecoverMIAPersonnel.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── EventResultEffect.java │ │ │ │ │ ├── MobType.java │ │ │ │ │ ├── PrisonerCaptureStyle.java │ │ │ │ │ ├── PrisonerEvent.java │ │ │ │ │ ├── PrisonerStatus.java │ │ │ │ │ └── ResponseQuality.java │ │ │ │ ├── records/ │ │ │ │ │ ├── EventResult.java │ │ │ │ │ ├── PrisonerEventData.java │ │ │ │ │ └── PrisonerResponseEntry.java │ │ │ │ └── yaml/ │ │ │ │ └── PrisonerEventDataWrapper.java │ │ │ ├── report/ │ │ │ │ ├── AbstractReport.java │ │ │ │ ├── CargoReport.java │ │ │ │ ├── HangarReport.java │ │ │ │ ├── PersonnelReport.java │ │ │ │ └── TransportReport.java │ │ │ ├── storyArc/ │ │ │ │ ├── Personality.java │ │ │ │ ├── StoryArc.java │ │ │ │ ├── StoryArcStub.java │ │ │ │ ├── StoryOutcome.java │ │ │ │ ├── StoryPoint.java │ │ │ │ ├── StoryPortrait.java │ │ │ │ ├── StorySplash.java │ │ │ │ ├── StoryTrigger.java │ │ │ │ ├── enums/ │ │ │ │ │ └── StoryLoadingType.java │ │ │ │ ├── storypoint/ │ │ │ │ │ ├── CheckDateReachedStoryPoint.java │ │ │ │ │ ├── CheckMoreScenariosStoryPoint.java │ │ │ │ │ ├── CheckPersonStatusStoryPoint.java │ │ │ │ │ ├── CheckStringVariableStoryPoint.java │ │ │ │ │ ├── ChoiceStoryPoint.java │ │ │ │ │ ├── CreateCharacterStoryPoint.java │ │ │ │ │ ├── DialogStoryPoint.java │ │ │ │ │ ├── MissionStoryPoint.java │ │ │ │ │ ├── NarrativeStoryPoint.java │ │ │ │ │ ├── PersonStatusStoryPoint.java │ │ │ │ │ ├── RollDiceStoryPoint.java │ │ │ │ │ ├── ScenarioStoryPoint.java │ │ │ │ │ ├── TravelStoryPoint.java │ │ │ │ │ └── WaitStoryPoint.java │ │ │ │ └── storytrigger/ │ │ │ │ ├── AddPersonStoryTrigger.java │ │ │ │ ├── AddUnitStoryTrigger.java │ │ │ │ ├── AdvanceTimeStoryTrigger.java │ │ │ │ ├── ChangePersonStoryTrigger.java │ │ │ │ ├── ChangeStringVariableStoryTrigger.java │ │ │ │ ├── CompleteMissionStoryTrigger.java │ │ │ │ ├── EndArcStoryTrigger.java │ │ │ │ ├── GameOverStoryTrigger.java │ │ │ │ ├── RemoveUnitStoryTrigger.java │ │ │ │ ├── SetDateStoryTrigger.java │ │ │ │ └── SwitchTabStoryTrigger.java │ │ │ ├── stratCon/ │ │ │ │ ├── IStratConDisplayable.java │ │ │ │ ├── MaplessStratCon.java │ │ │ │ ├── ScoutRecord.java │ │ │ │ ├── StratConBiome.java │ │ │ │ ├── StratConBiomeManifest.java │ │ │ │ ├── StratConCampaignState.java │ │ │ │ ├── StratConContractDefinition.java │ │ │ │ ├── StratConContractInitializer.java │ │ │ │ ├── StratConCoords.java │ │ │ │ ├── StratConFacility.java │ │ │ │ ├── StratConFacilityFactory.java │ │ │ │ ├── StratConFacilityManifest.java │ │ │ │ ├── StratConPlayType.java │ │ │ │ ├── StratConRulesManager.java │ │ │ │ ├── StratConScenario.java │ │ │ │ ├── StratConScenarioFactory.java │ │ │ │ ├── StratConStrategicObjective.java │ │ │ │ ├── StratConTerrainPlacer.java │ │ │ │ ├── StratConTerrainTile.java │ │ │ │ ├── StratConTrackState.java │ │ │ │ └── SupportPointNegotiation.java │ │ │ ├── unit/ │ │ │ │ ├── AbstractTransportedUnitsSummary.java │ │ │ │ ├── CargoStatistics.java │ │ │ │ ├── CrewType.java │ │ │ │ ├── HangarSorter.java │ │ │ │ ├── HangarStatistics.java │ │ │ │ ├── ITransportAssignment.java │ │ │ │ ├── ITransportedUnitsSummary.java │ │ │ │ ├── Maintenance.java │ │ │ │ ├── MothballInfo.java │ │ │ │ ├── ShipTransportedUnitsSummary.java │ │ │ │ ├── TacticalTransportedUnitsSummary.java │ │ │ │ ├── TestUnit.java │ │ │ │ ├── TowTransportedUnitsSummary.java │ │ │ │ ├── TransportAssignment.java │ │ │ │ ├── TransportShipAssignment.java │ │ │ │ ├── Unit.java │ │ │ │ ├── UnitOrder.java │ │ │ │ ├── UnitTechProgression.java │ │ │ │ ├── actions/ │ │ │ │ │ ├── ActivateUnitAction.java │ │ │ │ │ ├── AdjustLargeCraftAmmoAction.java │ │ │ │ │ ├── CancelMothballUnitAction.java │ │ │ │ │ ├── HirePersonnelUnitAction.java │ │ │ │ │ ├── IUnitAction.java │ │ │ │ │ ├── MothballUnitAction.java │ │ │ │ │ ├── RestoreUnitAction.java │ │ │ │ │ ├── StripUnitAction.java │ │ │ │ │ └── SwapAmmoTypeAction.java │ │ │ │ ├── cleanup/ │ │ │ │ │ ├── ApproximateMatchStep.java │ │ │ │ │ ├── BattleArmorEquipmentProposal.java │ │ │ │ │ ├── BattleArmorEquipmentUnscrambler.java │ │ │ │ │ ├── DefaultEquipmentUnscrambler.java │ │ │ │ │ ├── EquipmentProposal.java │ │ │ │ │ ├── EquipmentProposalReport.java │ │ │ │ │ ├── EquipmentUnscrambler.java │ │ │ │ │ ├── EquipmentUnscramblerResult.java │ │ │ │ │ ├── ExactMatchStep.java │ │ │ │ │ ├── MovedAmmoBinStep.java │ │ │ │ │ ├── MovedEquipmentStep.java │ │ │ │ │ └── UnscrambleStep.java │ │ │ │ └── enums/ │ │ │ │ ├── CrewAssignmentState.java │ │ │ │ └── TransporterType.java │ │ │ ├── universe/ │ │ │ │ ├── AbstractUnitGenerator.java │ │ │ │ ├── Atmosphere.java │ │ │ │ ├── Faction.java │ │ │ │ ├── FactionBorderTracker.java │ │ │ │ ├── FactionBorders.java │ │ │ │ ├── Factions.java │ │ │ │ ├── HPGLink.java │ │ │ │ ├── IUnitGenerator.java │ │ │ │ ├── LandMass.java │ │ │ │ ├── LifeForm.java │ │ │ │ ├── News.java │ │ │ │ ├── NewsItem.java │ │ │ │ ├── Planet.java │ │ │ │ ├── PlanetarySystem.java │ │ │ │ ├── RATGeneratorConnector.java │ │ │ │ ├── RandomFactionGenerator.java │ │ │ │ ├── RegionPerimeter.java │ │ │ │ ├── Satellite.java │ │ │ │ ├── SocioIndustrialData.java │ │ │ │ ├── SourceableValue.java │ │ │ │ ├── StarType.java │ │ │ │ ├── StarUtil.java │ │ │ │ ├── Systems.java │ │ │ │ ├── UnitGeneratorParameters.java │ │ │ │ ├── companyGeneration/ │ │ │ │ │ ├── AtBRandomMekParameters.java │ │ │ │ │ ├── CompanyGenerationOptions.java │ │ │ │ │ └── CompanyGenerationPersonTracker.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── Alphabet.java │ │ │ │ │ ├── BattleMekFactionGenerationMethod.java │ │ │ │ │ ├── BattleMekQualityGenerationMethod.java │ │ │ │ │ ├── BattleMekWeightClassGenerationMethod.java │ │ │ │ │ ├── CompanyGenerationMethod.java │ │ │ │ │ ├── CompanyGenerationPersonType.java │ │ │ │ │ ├── ForceNamingMethod.java │ │ │ │ │ ├── HPGRating.java │ │ │ │ │ ├── HiringHallLevel.java │ │ │ │ │ ├── MysteryBoxType.java │ │ │ │ │ ├── PartGenerationMethod.java │ │ │ │ │ └── PlanetaryType.java │ │ │ │ ├── eras/ │ │ │ │ │ ├── Era.java │ │ │ │ │ └── Eras.java │ │ │ │ ├── factionHints/ │ │ │ │ │ ├── AltLocation.java │ │ │ │ │ ├── DiplomacyLabel.java │ │ │ │ │ ├── DiplomacyType.java │ │ │ │ │ ├── FactionHint.java │ │ │ │ │ ├── FactionHints.java │ │ │ │ │ └── WarAndPeaceProcessor.java │ │ │ │ ├── factionStanding/ │ │ │ │ │ ├── AccoladeEntry.java │ │ │ │ │ ├── BatchallFactions.java │ │ │ │ │ ├── CensureEntry.java │ │ │ │ │ ├── FactionAccoladeEvent.java │ │ │ │ │ ├── FactionAccoladeLevel.java │ │ │ │ │ ├── FactionCensureAction.java │ │ │ │ │ ├── FactionCensureEvent.java │ │ │ │ │ ├── FactionCensureLevel.java │ │ │ │ │ ├── FactionJudgment.java │ │ │ │ │ ├── FactionJudgmentSceneType.java │ │ │ │ │ ├── FactionStandingAgitatorData.java │ │ │ │ │ ├── FactionStandingJudgmentType.java │ │ │ │ │ ├── FactionStandingLevel.java │ │ │ │ │ ├── FactionStandingUltimatum.java │ │ │ │ │ ├── FactionStandingUltimatumData.java │ │ │ │ │ ├── FactionStandingUltimatumsLibrary.java │ │ │ │ │ ├── FactionStandingUltimatumsWrapper.java │ │ │ │ │ ├── FactionStandingUtilities.java │ │ │ │ │ ├── FactionStandings.java │ │ │ │ │ ├── GoingRogue.java │ │ │ │ │ ├── MercenaryRelations.java │ │ │ │ │ └── PerformBatchall.java │ │ │ │ ├── fameAndInfamy/ │ │ │ │ │ └── FameAndInfamyController.java │ │ │ │ ├── generators/ │ │ │ │ │ ├── battleMekQualityGenerators/ │ │ │ │ │ │ ├── ABattleMekQualityGenerator.java │ │ │ │ │ │ ├── AStarBattleMekQualityGenerator.java │ │ │ │ │ │ ├── AbstractBattleMekQualityGenerator.java │ │ │ │ │ │ ├── AtBBattleMekQualityGenerator.java │ │ │ │ │ │ ├── BBattleMekQualityGenerator.java │ │ │ │ │ │ ├── CBattleMekQualityGenerator.java │ │ │ │ │ │ ├── DBattleMekQualityGenerator.java │ │ │ │ │ │ ├── FBattleMekQualityGenerator.java │ │ │ │ │ │ └── WindchildBattleMekQualityGenerator.java │ │ │ │ │ ├── battleMekWeightClassGenerators/ │ │ │ │ │ │ ├── AbstractBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── AssaultBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── AtBBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── HeavyBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── LightBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── MediumBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── WindchildAssaultBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── WindchildBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── WindchildHeavyBattleMekWeightClassGenerator.java │ │ │ │ │ │ ├── WindchildLightBattleMekWeightClassGenerator.java │ │ │ │ │ │ └── WindchildMediumBattleMekWeightClassGenerator.java │ │ │ │ │ ├── companyGenerators/ │ │ │ │ │ │ ├── AbstractCompanyGenerator.java │ │ │ │ │ │ ├── AtBCompanyGenerator.java │ │ │ │ │ │ └── WindchildCompanyGenerator.java │ │ │ │ │ └── partGenerators/ │ │ │ │ │ ├── AbstractPartGenerator.java │ │ │ │ │ ├── MishraPartGenerator.java │ │ │ │ │ ├── MultiplePartGenerator.java │ │ │ │ │ └── WindchildPartGenerator.java │ │ │ │ └── selectors/ │ │ │ │ ├── factionSelectors/ │ │ │ │ │ ├── AbstractFactionSelector.java │ │ │ │ │ ├── DefaultFactionSelector.java │ │ │ │ │ └── RangedFactionSelector.java │ │ │ │ └── planetSelectors/ │ │ │ │ ├── AbstractPlanetSelector.java │ │ │ │ ├── DefaultPlanetSelector.java │ │ │ │ └── RangedPlanetSelector.java │ │ │ ├── utilities/ │ │ │ │ ├── AutomatedPersonnelCleanUp.java │ │ │ │ ├── AutomatedTechAssignments.java │ │ │ │ ├── CampaignTransportUtilities.java │ │ │ │ ├── EasyBugReport.java │ │ │ │ ├── JumpBlockers.java │ │ │ │ └── glossary/ │ │ │ │ ├── DocumentationEntry.java │ │ │ │ └── GlossaryEntry.java │ │ │ └── work/ │ │ │ ├── IAcquisitionWork.java │ │ │ ├── IPartWork.java │ │ │ ├── IWork.java │ │ │ ├── RefitType.java │ │ │ └── WorkTime.java │ │ ├── gui/ │ │ │ ├── ActionScheduler.java │ │ │ ├── BasicInfo.java │ │ │ ├── BriefingTab.java │ │ │ ├── CampaignGUI.java │ │ │ ├── CampaignGuiTab.java │ │ │ ├── CommandCenterTab.java │ │ │ ├── DailyReportLogPanel.java │ │ │ ├── FactionComboBox.java │ │ │ ├── FileDialogs.java │ │ │ ├── FinancesTab.java │ │ │ ├── ForceRenderer.java │ │ │ ├── GUI.java │ │ │ ├── HangarTab.java │ │ │ ├── ITechWorkPanel.java │ │ │ ├── InfirmaryTab.java │ │ │ ├── InnerStellarMapConfig.java │ │ │ ├── InterstellarMapPanel.java │ │ │ ├── MapTab.java │ │ │ ├── MekLabTab.java │ │ │ ├── PersonnelTab.java │ │ │ ├── PlanetEditorGUI.java │ │ │ ├── PlanetarySystemMapPanel.java │ │ │ ├── RepairTab.java │ │ │ ├── RepairTaskInfo.java │ │ │ ├── ReportHyperlinkListener.java │ │ │ ├── StratConPanel.java │ │ │ ├── StratConTab.java │ │ │ ├── TOETab.java │ │ │ ├── WarehouseTab.java │ │ │ ├── adapter/ │ │ │ │ ├── FinanceTableMouseAdapter.java │ │ │ │ ├── JPopupMenuAdapter.java │ │ │ │ ├── LoanTableMouseAdapter.java │ │ │ │ ├── PartsTableMouseAdapter.java │ │ │ │ ├── PersonnelTableMouseAdapter.java │ │ │ │ ├── ProcurementTableMouseAdapter.java │ │ │ │ ├── ScenarioTableMouseAdapter.java │ │ │ │ ├── ServicedUnitsTableMouseAdapter.java │ │ │ │ ├── TOEMouseAdapter.java │ │ │ │ ├── TaskTableMouseAdapter.java │ │ │ │ └── UnitTableMouseAdapter.java │ │ │ ├── baseComponents/ │ │ │ │ ├── AbstractMHQButtonDialog.java │ │ │ │ ├── AbstractMHQDialogBasic.java │ │ │ │ ├── AbstractMHQPanel.java │ │ │ │ ├── AbstractMHQScrollPane.java │ │ │ │ ├── AbstractMHQScrollablePanel.java │ │ │ │ ├── AbstractMHQSplitPane.java │ │ │ │ ├── AbstractMHQTabbedPane.java │ │ │ │ ├── AbstractMHQValidationButtonDialog.java │ │ │ │ ├── DefaultMHQScrollablePanel.java │ │ │ │ ├── JScrollableMenu.java │ │ │ │ ├── JScrollablePanel.java │ │ │ │ ├── JScrollablePopupMenu.java │ │ │ │ ├── SortedComboBoxModel.java │ │ │ │ ├── SourceableValueLabel.java │ │ │ │ ├── immersiveDialogs/ │ │ │ │ │ ├── ImmersiveDialogConfirmation.java │ │ │ │ │ ├── ImmersiveDialogCore.java │ │ │ │ │ ├── ImmersiveDialogNag.java │ │ │ │ │ ├── ImmersiveDialogNotification.java │ │ │ │ │ ├── ImmersiveDialogSimple.java │ │ │ │ │ └── ImmersiveDialogWidth.java │ │ │ │ └── roundedComponents/ │ │ │ │ ├── RoundedJButton.java │ │ │ │ ├── RoundedLineBorder.java │ │ │ │ └── RoundedMMToggleButton.java │ │ │ ├── campaignOptions/ │ │ │ │ ├── CampaignOptionFlag.java │ │ │ │ ├── CampaignOptionsAbilityInfo.java │ │ │ │ ├── CampaignOptionsDialog.java │ │ │ │ ├── CampaignOptionsMetadata.java │ │ │ │ ├── CampaignOptionsPane.java │ │ │ │ ├── CampaignOptionsPresetPicker.java │ │ │ │ ├── CampaignOptionsUtilities.java │ │ │ │ ├── CreateCampaignPreset.java │ │ │ │ ├── components/ │ │ │ │ │ ├── CampaignOptionsButton.java │ │ │ │ │ ├── CampaignOptionsCheckBox.java │ │ │ │ │ ├── CampaignOptionsGridBagConstraints.java │ │ │ │ │ ├── CampaignOptionsHeaderPanel.java │ │ │ │ │ ├── CampaignOptionsLabel.java │ │ │ │ │ ├── CampaignOptionsSpinner.java │ │ │ │ │ ├── CampaignOptionsStandardPanel.java │ │ │ │ │ └── CampaignOptionsTextField.java │ │ │ │ ├── contents/ │ │ │ │ │ ├── AbilitiesTab.java │ │ │ │ │ ├── AdvancementTab.java │ │ │ │ │ ├── BiographyTab.java │ │ │ │ │ ├── EquipmentAndSuppliesTab.java │ │ │ │ │ ├── FinancesTab.java │ │ │ │ │ ├── GeneralTab.java │ │ │ │ │ ├── MarketsTab.java │ │ │ │ │ ├── PersonnelTab.java │ │ │ │ │ ├── RelationshipsTab.java │ │ │ │ │ ├── RepairAndMaintenanceTab.java │ │ │ │ │ ├── RulesetsTab.java │ │ │ │ │ ├── SalariesTab.java │ │ │ │ │ ├── SkillsTab.java │ │ │ │ │ ├── SystemsTab.java │ │ │ │ │ └── TurnoverAndRetentionTab.java │ │ │ │ ├── enums/ │ │ │ │ │ └── ProcurementPersonnelPick.java │ │ │ │ └── optionChangeDialogs/ │ │ │ │ ├── AdvancedScoutingCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── AltAdvancedMedicalCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── DiminishingReturnsCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── FactionStandingCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── FatigueTrackingCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── MASHTheaterTrackingCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── NormalizedContractPayCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── PrisonerTrackingCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── SalvageCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── StratConConvoyCampaignOptionsChangedConfirmationDialog.java │ │ │ │ ├── StratConMaplessCampaignOptionsChangedConfirmationDialog.java │ │ │ │ └── VeterancyAwardsCampaignOptionsChangedConfirmationDialog.java │ │ │ ├── control/ │ │ │ │ ├── EditKillLogControl.java │ │ │ │ ├── EditLogControl.java │ │ │ │ └── EditScenarioLogControl.java │ │ │ ├── dialog/ │ │ │ │ ├── AbstractMHQIconChooserDialog.java │ │ │ │ ├── AcquisitionsDialog.java │ │ │ │ ├── AddFundsDialog.java │ │ │ │ ├── AddOrEditKillEntryDialog.java │ │ │ │ ├── AddOrEditLogEntryDialog.java │ │ │ │ ├── AddOrEditScenarioEntryDialog.java │ │ │ │ ├── AdvanceDaysDialog.java │ │ │ │ ├── AdvancedReplacementLimbDialog.java │ │ │ │ ├── AttributeCheckDialog.java │ │ │ │ ├── AutoAwardsDialog.java │ │ │ │ ├── AutoAwardsTable.java │ │ │ │ ├── AutoResolveBehaviorSettingsDialog.java │ │ │ │ ├── BatchXPDialog.java │ │ │ │ ├── BayRentalDialog.java │ │ │ │ ├── BombsDialog.java │ │ │ │ ├── CampaignExportWizard.java │ │ │ │ ├── CampaignHasProblemOnLoad.java │ │ │ │ ├── CampaignUpgradeDialog.java │ │ │ │ ├── ChooseMulFilesDialog.java │ │ │ │ ├── ChooseRefitDialog.java │ │ │ │ ├── CompanyGenerationDialog.java │ │ │ │ ├── CompanyGenerationOptionsDialog.java │ │ │ │ ├── CompleteMissionDialog.java │ │ │ │ ├── ContractMarketDialog.java │ │ │ │ ├── ContractStartRentalDialog.java │ │ │ │ ├── CreateCharacterDialog.java │ │ │ │ ├── CustomRankSystemCreationDialog.java │ │ │ │ ├── CustomizeAtBContractDialog.java │ │ │ │ ├── CustomizeBotForceDialog.java │ │ │ │ ├── CustomizeMissionDialog.java │ │ │ │ ├── CustomizePersonDialog.java │ │ │ │ ├── CustomizeScenarioDialog.java │ │ │ │ ├── CustomizeScenarioObjectiveDialog.java │ │ │ │ ├── DataLoadingDialog.java │ │ │ │ ├── DateChooser.java │ │ │ │ ├── DiplomacyReport.java │ │ │ │ ├── EasyBugReportDialog.java │ │ │ │ ├── EditAssetDialog.java │ │ │ │ ├── EditDeploymentDialog.java │ │ │ │ ├── EditInjuryEntryDialog.java │ │ │ │ ├── EditKillLogDialog.java │ │ │ │ ├── EditLogDialog.java │ │ │ │ ├── EditMapSettingsDialog.java │ │ │ │ ├── EditPersonnelHitsDialog.java │ │ │ │ ├── EditPersonnelInjuriesDialog.java │ │ │ │ ├── EditScenarioDeploymentLimitDialog.java │ │ │ │ ├── EditScenarioLogDialog.java │ │ │ │ ├── EditSkillPreRequisiteDialog.java │ │ │ │ ├── EditSpecialAbilityDialog.java │ │ │ │ ├── EditTransactionDialog.java │ │ │ │ ├── FamilyTreeDialog.java │ │ │ │ ├── ForceTemplateAssignmentDialog.java │ │ │ │ ├── GMToolsDialog.java │ │ │ │ ├── HireBulkPersonnelDialog.java │ │ │ │ ├── HistoricalDailyReportDialog.java │ │ │ │ ├── JumpCostsSummary.java │ │ │ │ ├── LargeCraftAmmoSwapDialog.java │ │ │ │ ├── LootDialog.java │ │ │ │ ├── MHQOptionsDialog.java │ │ │ │ ├── MRMSDialog.java │ │ │ │ ├── ManageAssetsDialog.java │ │ │ │ ├── MaplessStratConForcePicker.java │ │ │ │ ├── MaplessStratConScenarioPicker.java │ │ │ │ ├── MarkdownEditorDialog.java │ │ │ │ ├── MassMothballDialog.java │ │ │ │ ├── MedicalViewDialog.java │ │ │ │ ├── MekHQAboutDialog.java │ │ │ │ ├── MekHQUnitSelectorDialog.java │ │ │ │ ├── MercenaryAuctionDialog.java │ │ │ │ ├── MilestoneUpgradePathDialog.java │ │ │ │ ├── MissionTypeDialog.java │ │ │ │ ├── NewAtBContractDialog.java │ │ │ │ ├── NewCampaignConfirmationDialog.java │ │ │ │ ├── NewContractDialog.java │ │ │ │ ├── NewLoanDialog.java │ │ │ │ ├── NewPlayerQuickstartDialog.java │ │ │ │ ├── NewRecruitDialog.java │ │ │ │ ├── NewsDialog.java │ │ │ │ ├── ObjectiveEditPanel.java │ │ │ │ ├── PartsReportDialog.java │ │ │ │ ├── PartsStoreDialog.java │ │ │ │ ├── PayCollateralDialog.java │ │ │ │ ├── PersonnelMarketDialog.java │ │ │ │ ├── PopupValueChoiceDialog.java │ │ │ │ ├── QuickTrainDialog.java │ │ │ │ ├── QuirksDialog.java │ │ │ │ ├── RefitNameDialog.java │ │ │ │ ├── ReplacementLimbDialog.java │ │ │ │ ├── ResolveScenarioWizardDialog.java │ │ │ │ ├── ResupplyConvoyChoice.java │ │ │ │ ├── RetirementDefectionDialog.java │ │ │ │ ├── RetirementTable.java │ │ │ │ ├── ScenarioTemplateEditorDialog.java │ │ │ │ ├── SelectAbilitiesDialog.java │ │ │ │ ├── SkillCheckDialog.java │ │ │ │ ├── SmallSVAmmoSwapDialog.java │ │ │ │ ├── StoryArcSelectionDialog.java │ │ │ │ ├── StoryChoiceDialog.java │ │ │ │ ├── StoryDialog.java │ │ │ │ ├── StoryNarrativeDialog.java │ │ │ │ ├── StratConReinforcementsConfirmationDialog.java │ │ │ │ ├── StratConSinglesReinforcementsDialog.java │ │ │ │ ├── UnitMarketDialog.java │ │ │ │ ├── VocationalExperienceAwardDialog.java │ │ │ │ ├── camOpsSalvage/ │ │ │ │ │ ├── SalvageFormationPicker.java │ │ │ │ │ ├── SalvagePostScenarioPicker.java │ │ │ │ │ └── SalvageTechPicker.java │ │ │ │ ├── factionStanding/ │ │ │ │ │ ├── FactionStandingReport.java │ │ │ │ │ ├── FactionStandingSlider.java │ │ │ │ │ ├── FactionStandingUltimatumDialog.java │ │ │ │ │ ├── events/ │ │ │ │ │ │ └── FactionStandingGreeting.java │ │ │ │ │ ├── factionJudgment/ │ │ │ │ │ │ ├── FactionAccoladeConfirmationDialog.java │ │ │ │ │ │ ├── FactionCensureConfirmationDialog.java │ │ │ │ │ │ ├── FactionCensureGoingRogueDialog.java │ │ │ │ │ │ ├── FactionJudgmentDialog.java │ │ │ │ │ │ ├── FactionJudgmentNewsArticle.java │ │ │ │ │ │ └── FactionJudgmentSceneDialog.java │ │ │ │ │ ├── gmToolsDialog/ │ │ │ │ │ │ ├── AccoladeSelectionDialog.java │ │ │ │ │ │ ├── CensureSelectionDialog.java │ │ │ │ │ │ ├── FactionSelectionDialog.java │ │ │ │ │ │ ├── FactionStandingsGMToolsActionType.java │ │ │ │ │ │ ├── GMTools.java │ │ │ │ │ │ └── GMToolsConfirmationDialog.java │ │ │ │ │ └── manualMissionDialogs/ │ │ │ │ │ ├── ManualMissionDialog.java │ │ │ │ │ ├── SimulateMissionDialog.java │ │ │ │ │ └── StandingUpdateConfirmationDialog.java │ │ │ │ ├── glossary/ │ │ │ │ │ ├── NewDocumentationEntryDialog.java │ │ │ │ │ ├── NewGlossaryDialog.java │ │ │ │ │ └── NewGlossaryEntryDialog.java │ │ │ │ ├── helpDialogs/ │ │ │ │ │ └── AutoResolveBehaviorSettingsHelpDialog.java │ │ │ │ ├── iconDialogs/ │ │ │ │ │ ├── LayeredFormationIconDialog.java │ │ │ │ │ ├── StandardFormationIconDialog.java │ │ │ │ │ └── UnitIconDialog.java │ │ │ │ ├── markets/ │ │ │ │ │ └── personnelMarket/ │ │ │ │ │ ├── ApplicantTableColumns.java │ │ │ │ │ ├── PersonTableModel.java │ │ │ │ │ ├── PersonnelMarketDialog.java │ │ │ │ │ └── PersonnelTablePanel.java │ │ │ │ ├── nagDialogs/ │ │ │ │ │ ├── CombatChallengeNagDialog.java │ │ │ │ │ ├── DeploymentShortfallNagDialog.java │ │ │ │ │ ├── EndContractNagDialog.java │ │ │ │ │ ├── HRStrainNagDialog.java │ │ │ │ │ ├── InsufficientAsTechsNagDialog.java │ │ │ │ │ ├── InsufficientAstechTimeNagDialog.java │ │ │ │ │ ├── InsufficientMedicsNagDialog.java │ │ │ │ │ ├── InvalidFactionNagDialog.java │ │ │ │ │ ├── NagController.java │ │ │ │ │ ├── OutstandingScenariosNagDialog.java │ │ │ │ │ ├── PregnantCombatantNagDialog.java │ │ │ │ │ ├── PrisonersNagDialog.java │ │ │ │ │ ├── SingleDropNagDialog.java │ │ │ │ │ ├── UnableToAffordExpensesNagDialog.java │ │ │ │ │ ├── UnableToAffordJumpNagDialog.java │ │ │ │ │ ├── UnableToAffordLoanPaymentNagDialog.java │ │ │ │ │ ├── UnableToAffordRentNagDialog.java │ │ │ │ │ ├── UnableToAffordShoppingListNagDialog.java │ │ │ │ │ ├── UnmaintainedUnitsNagDialog.java │ │ │ │ │ ├── UnresolvedStratConContactsNagDialog.java │ │ │ │ │ ├── UntreatedPersonnelNagDialog.java │ │ │ │ │ └── nagLogic/ │ │ │ │ │ ├── DeploymentShortfallNagLogic.java │ │ │ │ │ ├── EndContractNagLogic.java │ │ │ │ │ ├── HRStrainNagLogic.java │ │ │ │ │ ├── InsufficientAsTechTimeNagLogic.java │ │ │ │ │ ├── InsufficientAsTechsNagLogic.java │ │ │ │ │ ├── InsufficientMedicsNagLogic.java │ │ │ │ │ ├── InvalidFactionNagLogic.java │ │ │ │ │ ├── NoCommanderNagLogic.java │ │ │ │ │ ├── OutstandingScenariosNagLogic.java │ │ │ │ │ ├── PregnantCombatantNagLogic.java │ │ │ │ │ ├── PrisonersNagLogic.java │ │ │ │ │ ├── SingleDropSetUpNagLogic.java │ │ │ │ │ ├── UnableToAffordExpensesNagLogic.java │ │ │ │ │ ├── UnableToAffordJumpNagLogic.java │ │ │ │ │ ├── UnableToAffordLoanPaymentNag.java │ │ │ │ │ ├── UnableToAffordRentNagLogic.java │ │ │ │ │ ├── UnableToAffordShoppingListNag.java │ │ │ │ │ ├── UnmaintainedUnitsNagLogic.java │ │ │ │ │ ├── UnresolvedStratConContactsNagLogic.java │ │ │ │ │ └── UntreatedPersonnelNagLogic.java │ │ │ │ ├── randomEvents/ │ │ │ │ │ └── RoninEventDialog.java │ │ │ │ ├── reportDialogs/ │ │ │ │ │ ├── AbstractReportDialog.java │ │ │ │ │ ├── CargoReportDialog.java │ │ │ │ │ ├── HangarReportDialog.java │ │ │ │ │ ├── MaintenanceReportDialog.java │ │ │ │ │ ├── MonthlyUnitCostReportDialog.java │ │ │ │ │ ├── NewsReportDialog.java │ │ │ │ │ ├── PartQualityReportDialog.java │ │ │ │ │ ├── PersonnelReportDialog.java │ │ │ │ │ ├── ReputationReportDialog.java │ │ │ │ │ └── TransportReportDialog.java │ │ │ │ └── resupplyAndCaches/ │ │ │ │ ├── DialogContractStart.java │ │ │ │ ├── DialogItinerary.java │ │ │ │ ├── DialogResupplyFocus.java │ │ │ │ ├── DialogSwindled.java │ │ │ │ └── ResupplyDialogUtilities.java │ │ │ ├── displayWrappers/ │ │ │ │ ├── ClanDisplay.java │ │ │ │ ├── FactionDisplay.java │ │ │ │ └── RankDisplay.java │ │ │ ├── enums/ │ │ │ │ ├── FormationIconOperationalStatusStyle.java │ │ │ │ ├── MHQTabType.java │ │ │ │ ├── PersonnelFilter.java │ │ │ │ ├── PersonnelFilterStyle.java │ │ │ │ ├── PersonnelTabView.java │ │ │ │ └── PersonnelTableModelColumn.java │ │ │ ├── handler/ │ │ │ │ └── TOETransferHandler.java │ │ │ ├── menus/ │ │ │ │ ├── AssignForceToShipTransportMenu.java │ │ │ │ ├── AssignForceToTacticalTransportMenu.java │ │ │ │ ├── AssignForceToTowTransportMenu.java │ │ │ │ ├── AssignForceToTransportMenu.java │ │ │ │ ├── AssignPersonToUnitMenu.java │ │ │ │ ├── AssignTechToUnitMenu.java │ │ │ │ ├── AssignUnitToForceMenu.java │ │ │ │ ├── AssignUnitToPersonMenu.java │ │ │ │ ├── AssignUnitToTechMenu.java │ │ │ │ └── ExportUnitSpriteMenu.java │ │ │ ├── model/ │ │ │ │ ├── AutoAwardsTableModel.java │ │ │ │ ├── BotForceTableModel.java │ │ │ │ ├── CrewListModel.java │ │ │ │ ├── DataTableModel.java │ │ │ │ ├── DocTableModel.java │ │ │ │ ├── FilterableComboBoxModel.java │ │ │ │ ├── FilterableListModel.java │ │ │ │ ├── FinanceTableModel.java │ │ │ │ ├── KillTableModel.java │ │ │ │ ├── LoanTableModel.java │ │ │ │ ├── LogTableModel.java │ │ │ │ ├── LootTableModel.java │ │ │ │ ├── ObjectiveTableModel.java │ │ │ │ ├── OrgTreeModel.java │ │ │ │ ├── PartsInUseTableModel.java │ │ │ │ ├── PartsStoreModel.java │ │ │ │ ├── PartsTableModel.java │ │ │ │ ├── PatientTableModel.java │ │ │ │ ├── PersonnelEventLogModel.java │ │ │ │ ├── PersonnelKillLogModel.java │ │ │ │ ├── PersonnelTableModel.java │ │ │ │ ├── ProcurementTableModel.java │ │ │ │ ├── RankTableModel.java │ │ │ │ ├── RetirementTableModel.java │ │ │ │ ├── ScenarioTableModel.java │ │ │ │ ├── TaskTableModel.java │ │ │ │ ├── TechTableModel.java │ │ │ │ ├── UnitAssignmentTableModel.java │ │ │ │ ├── UnitMarketTableModel.java │ │ │ │ └── UnitTableModel.java │ │ │ ├── panels/ │ │ │ │ ├── AbstractMHQIconChooser.java │ │ │ │ ├── CampaignPresetPanel.java │ │ │ │ ├── CompanyGenerationOptionsPanel.java │ │ │ │ ├── ForcePieceIconChooser.java │ │ │ │ ├── LayeredFormationIconCreationPanel.java │ │ │ │ ├── RandomOriginOptionsPanel.java │ │ │ │ ├── StandardFormationIconChooser.java │ │ │ │ ├── StartupScreenPanel.java │ │ │ │ ├── StoryArcPanel.java │ │ │ │ ├── StoryChoicePanel.java │ │ │ │ ├── TutorialHyperlinkPanel.java │ │ │ │ └── UnitIconChooser.java │ │ │ ├── panes/ │ │ │ │ ├── RankSystemsPane.java │ │ │ │ ├── StoryArcSelectionPane.java │ │ │ │ └── UnitMarketPane.java │ │ │ ├── preferences/ │ │ │ │ └── StringPreference.java │ │ │ ├── renderers/ │ │ │ │ └── StoryArcRenderer.java │ │ │ ├── sorter/ │ │ │ │ ├── AttributeScoreSorter.java │ │ │ │ ├── BonusSorter.java │ │ │ │ ├── DateStringComparator.java │ │ │ │ ├── EducationLevelSorter.java │ │ │ │ ├── FormattedNumberSorter.java │ │ │ │ ├── IntegerStringSorter.java │ │ │ │ ├── LevelSorter.java │ │ │ │ ├── PartsDetailSorter.java │ │ │ │ ├── PersonRankSorter.java │ │ │ │ ├── PersonRankStringSorter.java │ │ │ │ ├── PersonTitleSorter.java │ │ │ │ ├── PersonTitleStringSorter.java │ │ │ │ ├── PrisonerStatusSorter.java │ │ │ │ ├── ReasoningSorter.java │ │ │ │ ├── TargetSorter.java │ │ │ │ ├── TaskSorter.java │ │ │ │ ├── TechSorter.java │ │ │ │ ├── TwoNumbersSorter.java │ │ │ │ ├── UnitStatusSorter.java │ │ │ │ ├── UnitTypeSorter.java │ │ │ │ ├── WarehouseStatusSorter.java │ │ │ │ └── WeightClassSorter.java │ │ │ ├── stratCon/ │ │ │ │ ├── CampaignManagementDialog.java │ │ │ │ ├── ScenarioWizardLanceModel.java │ │ │ │ ├── ScenarioWizardLanceRenderer.java │ │ │ │ ├── ScenarioWizardUnitRenderer.java │ │ │ │ ├── StratConScenarioWizard.java │ │ │ │ └── TrackForceAssignmentUI.java │ │ │ ├── trees/ │ │ │ │ ├── ForcePieceIconChooserTree.java │ │ │ │ └── StandardFormationIconChooserTree.java │ │ │ ├── utilities/ │ │ │ │ ├── ImgLabel.java │ │ │ │ ├── JMenuHelpers.java │ │ │ │ ├── JMoneyTextField.java │ │ │ │ ├── JScrollPaneWithSpeed.java │ │ │ │ ├── JSuggestField.java │ │ │ │ ├── MHQPDFReaderPanel.java │ │ │ │ ├── MarkdownEditorPanel.java │ │ │ │ ├── MarkdownRenderer.java │ │ │ │ ├── MekHqTableCellRenderer.java │ │ │ │ ├── MultiLineTooltip.java │ │ │ │ ├── MultiplyComposite.java │ │ │ │ ├── ObservableString.java │ │ │ │ ├── OriginFactionPickerHelper.java │ │ │ │ ├── StaticChecks.java │ │ │ │ └── WrapLayout.java │ │ │ └── view/ │ │ │ ├── AtBScenarioViewPanel.java │ │ │ ├── ContractPaymentBreakdown.java │ │ │ ├── ContractSummaryPanel.java │ │ │ ├── ForceViewPanel.java │ │ │ ├── JumpPathViewPanel.java │ │ │ ├── LanceAssignmentTableModel.java │ │ │ ├── LanceAssignmentView.java │ │ │ ├── MissionViewPanel.java │ │ │ ├── PaperDoll.java │ │ │ ├── PersonViewPanel.java │ │ │ ├── PlanetViewPanel.java │ │ │ ├── RequiredLancesTableModel.java │ │ │ ├── ScenarioViewPanel.java │ │ │ └── UnitViewPanel.java │ │ ├── io/ │ │ │ ├── AwardFileFactory.java │ │ │ ├── FileType.java │ │ │ └── idReferenceClasses/ │ │ │ └── PersonIdReference.java │ │ ├── module/ │ │ │ ├── AbstractServiceManager.java │ │ │ ├── PersonnelMarketServiceManager.java │ │ │ ├── PluginManager.java │ │ │ ├── ScriptPluginManager.java │ │ │ ├── api/ │ │ │ │ ├── MekHQModule.java │ │ │ │ └── PersonnelMarketMethod.java │ │ │ └── atb/ │ │ │ └── PersonnelMarketAtB.java │ │ ├── service/ │ │ │ ├── AutosaveService.java │ │ │ ├── IAutosaveService.java │ │ │ ├── PartsAcquisitionService.java │ │ │ ├── enums/ │ │ │ │ └── MRMSMode.java │ │ │ └── mrms/ │ │ │ ├── MRMSConfiguredOptions.java │ │ │ ├── MRMSOption.java │ │ │ └── MRMSService.java │ │ └── utilities/ │ │ ├── EntityUtilities.java │ │ ├── MHQInternationalization.java │ │ ├── MHQXMLUtility.java │ │ ├── PotentialTransportsMap.java │ │ ├── ReportingUtilities.java │ │ ├── ScenarioUtils.java │ │ ├── SystemValidator.java │ │ ├── ValidationMessage.java │ │ ├── ValidationResult.java │ │ └── spaUtilities/ │ │ ├── SpaUtilities.java │ │ └── enums/ │ │ └── AbilityCategory.java │ ├── testresources/ │ │ ├── data/ │ │ │ ├── mekfiles/ │ │ │ │ ├── Buster BC XV-M-B HaulerMech MOD.mtf │ │ │ │ ├── Caravan Heavy Transport.blk │ │ │ │ ├── Champion CHP-3P.mtf │ │ │ │ ├── Crockett CRK-5003-0.mtf │ │ │ │ ├── Crusader CRD-7M.mtf │ │ │ │ ├── Enforcer III ENF-6M.mtf │ │ │ │ ├── Flashman FLS-7K.mtf │ │ │ │ ├── Griffin GRF-1E Sparky.mtf │ │ │ │ ├── Hammerhands HMH-5D.mtf │ │ │ │ ├── Hatchetman HCT-6D.mtf │ │ │ │ ├── Hoshiryokou Tug Boat.blk │ │ │ │ ├── Locust LCT-1E.mtf │ │ │ │ ├── Locust LCT-1V.mtf │ │ │ │ ├── Osiris OSR-5D.mtf │ │ │ │ ├── Prime Mover.blk │ │ │ │ ├── Quickdraw QKD-8X.mtf │ │ │ │ ├── Rifleman RFL-9T.mtf │ │ │ │ ├── Shadow Hawk SHD-2H.mtf │ │ │ │ ├── Shadow Hawk SHD-5D.mtf │ │ │ │ ├── Shadow Hawk SHD-7CS.mtf │ │ │ │ ├── Spartan SPT-N1.mtf │ │ │ │ ├── Stalker STK-4N.mtf │ │ │ │ ├── UrbanMech UM-R69.mtf │ │ │ │ ├── Victor VTR-9S.mtf │ │ │ │ ├── Vulcan VT-7T.mtf │ │ │ │ ├── Wasp WSP-1.mtf │ │ │ │ └── Zeus ZEU-6A.mtf │ │ │ ├── names/ │ │ │ │ └── callsigns_test.csv │ │ │ ├── scenariomodifiers/ │ │ │ │ ├── EnemyAirSupport_test.xml │ │ │ │ └── modifiermanifest_test.xml │ │ │ └── universe/ │ │ │ ├── defaultspa_test.xml │ │ │ ├── factionhints_test.xml │ │ │ ├── factions/ │ │ │ │ ├── CBS_test.yml │ │ │ │ ├── CC_test.yml │ │ │ │ ├── CDS_test.yml │ │ │ │ ├── CGB_test.yml │ │ │ │ ├── CJF_test.yml │ │ │ │ ├── CLAN_TAG.yml │ │ │ │ ├── CSJ_test.yml │ │ │ │ ├── CS_test.yml │ │ │ │ ├── FS_test.yml │ │ │ │ ├── IS_TAG.yml │ │ │ │ ├── LA_test.yml │ │ │ │ ├── MERC_test.yml │ │ │ │ └── MH_test.yml │ │ │ └── planetary_systems/ │ │ │ └── canon_systems/ │ │ │ ├── Galatea.yml │ │ │ └── Skye.yml │ │ └── mockito-extensions/ │ │ └── org.mockito.plugins.MockMaker │ └── unittests/ │ ├── mekhq/ │ │ ├── EventSpy.java │ │ ├── campaign/ │ │ │ ├── C3NetworkTest.java │ │ │ ├── CampaignNewDayManagerTest.java │ │ │ ├── CampaignSummaryTest.java │ │ │ ├── CampaignTest.java │ │ │ ├── LogEntryTest.java │ │ │ ├── QuartermasterTest.java │ │ │ ├── ResolveScenarioTrackerTest.java │ │ │ ├── WarehouseTest.java │ │ │ ├── autoResolve/ │ │ │ │ ├── ResolverTest.java │ │ │ │ └── ScenarioSetupForcesTest.java │ │ │ ├── camOpsReputation/ │ │ │ │ ├── AverageExperienceRatingTest.java │ │ │ │ ├── CommandRatingTest.java │ │ │ │ └── ReputationControllerTest.java │ │ │ ├── events/ │ │ │ │ └── DayEndingEventTest.java │ │ │ ├── finances/ │ │ │ │ ├── AccountantTest.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── FinancialTermTest.java │ │ │ │ │ ├── FinancialYearDurationTest.java │ │ │ │ │ └── TransactionTypeTest.java │ │ │ │ └── financialInstitutions/ │ │ │ │ ├── FinancialInstitutionTest.java │ │ │ │ └── FinancialInstitutionsTest.java │ │ │ ├── force/ │ │ │ │ ├── CombatTeamTest.java │ │ │ │ └── FormationTest.java │ │ │ ├── market/ │ │ │ │ ├── ContractMarketAtBGenerationTests.java │ │ │ │ ├── PartsInUseManagerTest.java │ │ │ │ ├── TestPartsStore.java │ │ │ │ ├── contractMarket/ │ │ │ │ │ ├── AlternatePaymentModelValuesTest.java │ │ │ │ │ └── AtbMonthlyContractMarketTest.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── ContractMarketMethodTest.java │ │ │ │ │ ├── UnitMarketMethodTest.java │ │ │ │ │ └── UnitMarketTypeTest.java │ │ │ │ └── personnelMarket/ │ │ │ │ ├── enums/ │ │ │ │ │ └── PersonnelMarketStyleTest.java │ │ │ │ └── markets/ │ │ │ │ └── NewPersonnelMarketTest.java │ │ │ ├── mission/ │ │ │ │ ├── AtBContractTest.java │ │ │ │ ├── AtBDynamicScenarioFactoryTest.java │ │ │ │ ├── BotForceRandomizerTest.java │ │ │ │ ├── ContractTest.java │ │ │ │ ├── CrewSkillUpgraderTest.java │ │ │ │ ├── DynamicScenarioFactoryTest.java │ │ │ │ ├── MHQMoraleTest.java │ │ │ │ ├── TransportCostCalculationsTest.java │ │ │ │ ├── atb/ │ │ │ │ │ └── ScenarioModifierTest.java │ │ │ │ └── utilities/ │ │ │ │ └── ContractUtilitiesTest.java │ │ │ ├── parts/ │ │ │ │ ├── AmmoStorageTest.java │ │ │ │ ├── AmmoUtilities.java │ │ │ │ ├── ArmorTest.java │ │ │ │ ├── InfantryAmmoStorageTest.java │ │ │ │ ├── MekLocationTest.java │ │ │ │ ├── MissingAvionicsTest.java │ │ │ │ ├── MissingLandingGearTest.java │ │ │ │ ├── MissingMekLocationTest.java │ │ │ │ ├── MissingPartTest.java │ │ │ │ ├── PartTest.java │ │ │ │ ├── RefitTest.java │ │ │ │ ├── TotalBuyCostTest.java │ │ │ │ ├── enums/ │ │ │ │ │ └── PartRepairTypeTest.java │ │ │ │ └── equipment/ │ │ │ │ ├── AmmoBinTest.java │ │ │ │ ├── BattleArmorAmmoBinTest.java │ │ │ │ ├── EquipmentPartTest.java │ │ │ │ ├── EquipmentUtilities.java │ │ │ │ ├── InfantryAmmoBinTest.java │ │ │ │ ├── LargeCraftAmmoBinTest.java │ │ │ │ ├── MissingAmmoBinTest.java │ │ │ │ ├── MissingEquipmentPartTest.java │ │ │ │ ├── MissingHeatSinkTest.java │ │ │ │ ├── MissingInfantryAmmoBinTest.java │ │ │ │ └── MissingLargeCraftAmmoBinTest.java │ │ │ ├── personnel/ │ │ │ │ ├── BloodmarkTest.java │ │ │ │ ├── ExtraIncomeTest.java │ │ │ │ ├── InjuryTypeTest.java │ │ │ │ ├── PersonTest.java │ │ │ │ ├── PersonnelTestUtilities.java │ │ │ │ ├── RandomDependentsTest.java │ │ │ │ ├── advancedCharacterBuilder/ │ │ │ │ │ ├── ATOWLifeStageTest.java │ │ │ │ │ ├── LifePathCategoryTest.java │ │ │ │ │ ├── LifePathDataClassLookupTest.java │ │ │ │ │ ├── LifePathEntryDataTest.java │ │ │ │ │ ├── LifePathEntryDataTraitLookupTest.java │ │ │ │ │ └── LifePathRecordTest.java │ │ │ │ ├── death/ │ │ │ │ │ └── RandomDeathTest.java │ │ │ │ ├── divorce/ │ │ │ │ │ ├── DisabledRandomDivorceTest.java │ │ │ │ │ └── PercentageRandomDivorceTest.java │ │ │ │ ├── education/ │ │ │ │ │ ├── AcademyFactoryTest.java │ │ │ │ │ └── AcademyTests.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── AgeGroupTest.java │ │ │ │ │ ├── BabySurnameStyleTest.java │ │ │ │ │ ├── BloodGroupTest.java │ │ │ │ │ ├── BloodmarkLevelTest.java │ │ │ │ │ ├── ConnectionsLevelTest.java │ │ │ │ │ ├── FamilialConnectionTypeTest.java │ │ │ │ │ ├── FamilialRelationshipDisplayLevelTest.java │ │ │ │ │ ├── FamilialRelationshipTypeTest.java │ │ │ │ │ ├── FormerSpouseReasonTest.java │ │ │ │ │ ├── GenderDescriptorsTest.java │ │ │ │ │ ├── InjuryLevelTest.java │ │ │ │ │ ├── ManeiDominiClassTest.java │ │ │ │ │ ├── ManeiDominiRankTest.java │ │ │ │ │ ├── MergingSurnameStyleTest.java │ │ │ │ │ ├── ModifierValueTest.java │ │ │ │ │ ├── PersonnelRoleTest.java │ │ │ │ │ ├── PersonnelStatusTest.java │ │ │ │ │ ├── PhenotypeTest.java │ │ │ │ │ ├── ProfessionTest.java │ │ │ │ │ ├── ROMDesignationTest.java │ │ │ │ │ ├── RandomDivorceMethodTest.java │ │ │ │ │ ├── RandomMarriageMethodTest.java │ │ │ │ │ ├── RandomProcreationMethodTest.java │ │ │ │ │ ├── RankSystemTypeTest.java │ │ │ │ │ ├── SplittingSurnameStyleTest.java │ │ │ │ │ ├── TenYearAgeRangeTest.java │ │ │ │ │ └── TimeInDisplayFormatTest.java │ │ │ │ ├── familyTree/ │ │ │ │ │ ├── FormerSpouseTest.java │ │ │ │ │ └── GenealogyTest.java │ │ │ │ ├── marriage/ │ │ │ │ │ ├── AbstractMarriageTest.java │ │ │ │ │ ├── DisabledRandomMarriageTest.java │ │ │ │ │ └── PercentageRandomMarriageTest.java │ │ │ │ ├── medical/ │ │ │ │ │ ├── advancedMedical/ │ │ │ │ │ │ └── InjuryTypesTest.java │ │ │ │ │ └── advancedMedicalAlternate/ │ │ │ │ │ ├── InoculationsTest.java │ │ │ │ │ └── ProstheticTypeTest.java │ │ │ │ ├── procreation/ │ │ │ │ │ ├── AbstractProcreationTest.java │ │ │ │ │ ├── DisabledRandomProcreationTest.java │ │ │ │ │ └── RandomProcreationTest.java │ │ │ │ ├── skills/ │ │ │ │ │ ├── AppraisalTest.java │ │ │ │ │ ├── AttributesTest.java │ │ │ │ │ ├── SkillCheckUtilityTest.java │ │ │ │ │ ├── SkillTest.java │ │ │ │ │ ├── SkillTypeTest.java │ │ │ │ │ ├── TestSkillModifierData.java │ │ │ │ │ └── enums/ │ │ │ │ │ ├── AgingMilestoneTest.java │ │ │ │ │ ├── MarginOfSuccessTest.java │ │ │ │ │ └── SkillAttributeTest.java │ │ │ │ └── turnoverAndRetention/ │ │ │ │ └── RetirementDefectionTrackerTest.java │ │ │ ├── randomEvents/ │ │ │ │ ├── personalities/ │ │ │ │ │ └── enums/ │ │ │ │ │ ├── AggressionTest.java │ │ │ │ │ ├── AmbitionTest.java │ │ │ │ │ ├── GreedTest.java │ │ │ │ │ ├── PersonalityQuirkTest.java │ │ │ │ │ ├── PersonalityTraitTypeTest.java │ │ │ │ │ ├── ReasoningTest.java │ │ │ │ │ └── SocialTest.java │ │ │ │ └── prisoners/ │ │ │ │ ├── CapturePrisonersTest.java │ │ │ │ ├── EventEffectsManagerTest.java │ │ │ │ ├── PrisonerEventManagerTest.java │ │ │ │ ├── PrisonerMissionEndEventTest.java │ │ │ │ └── enums/ │ │ │ │ ├── MobTypeTest.java │ │ │ │ ├── PrisonerCaptureStyleTest.java │ │ │ │ └── PrisonerStatusTest.java │ │ │ ├── report/ │ │ │ │ └── TransportReportTest.java │ │ │ ├── stratCon/ │ │ │ │ ├── StratConRulesManagerTest.java │ │ │ │ └── StratConTerrainPlacerTest.java │ │ │ ├── unit/ │ │ │ │ ├── CargoCapacityTest.java │ │ │ │ ├── HangarStatisticsTest.java │ │ │ │ ├── LegacyUnitShipTransportTest.java │ │ │ │ ├── UnitIOTest.java │ │ │ │ ├── UnitPersonTest.java │ │ │ │ ├── UnitQuirksTest.java │ │ │ │ ├── UnitTestUtilities.java │ │ │ │ ├── UnitTransportTest.java │ │ │ │ ├── actions/ │ │ │ │ │ ├── AdjustLargeCraftAmmoActionTest.java │ │ │ │ │ ├── HirePersonnelUnitActionTest.java │ │ │ │ │ ├── RestoreUnitActionTest.java │ │ │ │ │ ├── StripUnitActionTest.java │ │ │ │ │ └── SwapAmmoTypeActionTest.java │ │ │ │ └── cleanup/ │ │ │ │ ├── ApproximateMatchStepTest.java │ │ │ │ ├── EquipmentProposalTest.java │ │ │ │ ├── EquipmentUnscramblerTest.java │ │ │ │ ├── ExactMatchStepTest.java │ │ │ │ ├── MovedAmmoBinTest.java │ │ │ │ └── MovedEquipmentStepTest.java │ │ │ ├── universe/ │ │ │ │ ├── FactionBorderTrackerTest.java │ │ │ │ ├── FactionBordersTest.java │ │ │ │ ├── FactionsIntegrationTest.java │ │ │ │ ├── RandomFactionGeneratorTest.java │ │ │ │ ├── RegionPerimeterTest.java │ │ │ │ ├── TestSystems.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── BattleMekFactionGenerationMethodTest.java │ │ │ │ │ ├── CompanyGenerationMethodTest.java │ │ │ │ │ └── MysteryBoxTypeTest.java │ │ │ │ ├── factionHints/ │ │ │ │ │ └── FactionHintsTest.java │ │ │ │ └── factionStanding/ │ │ │ │ ├── AccoladeEntryTest.java │ │ │ │ ├── CensureEntryTest.java │ │ │ │ ├── FactionAccoladeEventAdoptionTextTest.java │ │ │ │ ├── FactionAccoladeLevelTest.java │ │ │ │ ├── FactionCensureLevelTest.java │ │ │ │ ├── FactionStandingLevelTest.java │ │ │ │ ├── FactionStandingUtilitiesTest.java │ │ │ │ ├── FactionStandingsTest.java │ │ │ │ └── MercenaryRelationsTest.java │ │ │ └── utilities/ │ │ │ ├── AutomatedPersonnelCleanUpTest.java │ │ │ ├── AutomatedTechAssignmentsTest.java │ │ │ ├── JumpBlockersTest.java │ │ │ └── glossary/ │ │ │ ├── DocumentationEntryTest.java │ │ │ └── GlossaryEntryTest.java │ │ ├── gui/ │ │ │ ├── campaignOptions/ │ │ │ │ ├── CampaignOptionsMetadataTest.java │ │ │ │ ├── CampaignOptionsUtilitiesTest.java │ │ │ │ └── enums/ │ │ │ │ └── ProcurementPersonnelPickTest.java │ │ │ ├── dialog/ │ │ │ │ ├── CampaignExportWizardTest.java │ │ │ │ └── nagDialogs/ │ │ │ │ └── nagLogic/ │ │ │ │ ├── EndContractNagLogicTest.java │ │ │ │ ├── HRStrainNagLogicTest.java │ │ │ │ ├── InsufficientAsTechsNagLogicTest.java │ │ │ │ ├── InsufficientMedicsNagLogicTest.java │ │ │ │ ├── InvalidFactionNagLogicTest.java │ │ │ │ ├── OutstandingScenariosNagLogicTest.java │ │ │ │ ├── PregnantCombatantNagLogicTest.java │ │ │ │ ├── PrisonersNagLogicTest.java │ │ │ │ ├── ShortDeploymentNagLogicTest.java │ │ │ │ ├── UnableToAffordExpensesNagLogicTest.java │ │ │ │ ├── UnableToAffordLoanPaymentNagLogicTest.java │ │ │ │ ├── UnableToAffordShoppingListNagLogicTest.java │ │ │ │ ├── UnmaintainedUnitsNagLogicTest.java │ │ │ │ ├── UnresolvedStratConContactsNagLogicTest.java │ │ │ │ └── UntreatedPersonnelNagLogicTest.java │ │ │ ├── enums/ │ │ │ │ ├── FormationIconOperationalStatusStyleTest.java │ │ │ │ ├── MHQTabTypeTest.java │ │ │ │ ├── PersonnelFilterStyleTest.java │ │ │ │ ├── PersonnelFilterTest.java │ │ │ │ ├── PersonnelTabViewTest.java │ │ │ │ └── PersonnelTableModelColumnTest.java │ │ │ ├── model/ │ │ │ │ └── UnitTableModelTest.java │ │ │ ├── panels/ │ │ │ │ └── StartupScreenPanelTest.java │ │ │ └── utilities/ │ │ │ └── StaticChecksNovaCEWSTest.java │ │ ├── io/ │ │ │ ├── FileTypeTest.java │ │ │ └── idReferenceClasses/ │ │ │ └── PersonIdReferenceTest.java │ │ ├── resources/ │ │ │ └── .gitkeep │ │ ├── service/ │ │ │ ├── enums/ │ │ │ │ └── MRMSModeTest.java │ │ │ └── mrms/ │ │ │ └── MRMSServiceTest.java │ │ └── utilities/ │ │ └── SystemValidatorTest.java │ └── testUtilities/ │ └── MHQTestUtilities.java ├── README.md ├── build.gradle ├── config/ │ ├── checkstyle/ │ │ ├── checkstyle-suppressions.xml │ │ └── checkstyle.xml │ └── xsl/ │ └── .gitkeep ├── eclipse.xml ├── gradle/ │ ├── gradle-daemon-jvm.properties │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat └── settings.gradle
Showing preview only (2,108K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (24643 symbols across 1511 files)
FILE: MekHQ/src/mekhq/AtBGameThread.java
class AtBGameThread (line 90) | @Deprecated(since = "0.51.0", forRemoval = true)
method AtBGameThread (line 114) | public AtBGameThread(String name, String password, Client client, MekH...
method AtBGameThread (line 119) | public AtBGameThread(String name, String password, Client client, MekH...
method run (line 127) | @Override
method isUseDropship (line 609) | private boolean isUseDropship() {
method setupPlayerBotForAutoResolve (line 630) | private BotClient setupPlayerBotForAutoResolve(Player player) throws I...
method configureBot (line 682) | private void configureBot(BotClient botClient, BotForce botForce, Scen...
method setupBotEntities (line 725) | @Override
method loadTransports (line 781) | private void loadTransports(final Client client, final AtBScenario sce...
method copyDeploymentParameters (line 833) | private void copyDeploymentParameters(Entity source, Entity destinatio...
FILE: MekHQ/src/mekhq/CampaignPreset.java
class CampaignPreset (line 97) | public class CampaignPreset {
method CampaignPreset (line 133) | public CampaignPreset() {
method CampaignPreset (line 137) | public CampaignPreset(final boolean userData) {
method CampaignPreset (line 155) | public CampaignPreset(final String title, final String description, fi...
method isUserData (line 186) | public boolean isUserData() {
method getTitle (line 193) | public String getTitle() {
method setTitle (line 197) | public void setTitle(final String title) {
method getDescription (line 201) | public String getDescription() {
method setDescription (line 205) | public void setDescription(final String description) {
method getDate (line 210) | public @Nullable LocalDate getDate() {
method setDate (line 214) | public void setDate(final @Nullable LocalDate date) {
method getFaction (line 218) | public @Nullable Faction getFaction() {
method setFaction (line 222) | public void setFaction(final @Nullable Faction faction) {
method getPlanet (line 226) | public @Nullable Planet getPlanet() {
method setPlanet (line 230) | public void setPlanet(final @Nullable Planet planet) {
method getRankSystem (line 234) | public @Nullable RankSystem getRankSystem() {
method setRankSystem (line 238) | public void setRankSystem(final @Nullable RankSystem rankSystem) {
method getContractCount (line 242) | public int getContractCount() {
method setContractCount (line 246) | public void setContractCount(final int contractCount) {
method isGM (line 250) | public boolean isGM() {
method setGM (line 254) | public void setGM(final boolean gm) {
method getCompanyGenerationOptions (line 258) | public CompanyGenerationOptions getCompanyGenerationOptions() {
method setCompanyGenerationOptions (line 262) | public void setCompanyGenerationOptions(final @Nullable CompanyGenerat...
method getGameOptions (line 268) | public @Nullable GameOptions getGameOptions() {
method setGameOptions (line 272) | public void setGameOptions(final @Nullable GameOptions gameOptions) {
method getCampaignOptions (line 276) | public @Nullable CampaignOptions getCampaignOptions() {
method setCampaignOptions (line 280) | public void setCampaignOptions(final @Nullable CampaignOptions campaig...
method getRandomSkillPreferences (line 284) | public @Nullable RandomSkillPreferences getRandomSkillPreferences() {
method setRandomSkillPreferences (line 288) | public void setRandomSkillPreferences(final @Nullable RandomSkillPrefe...
method getSkills (line 292) | public Map<String, SkillType> getSkills() {
method setSkills (line 296) | public void setSkills(final Map<String, SkillType> skills) {
method getSpecialAbilities (line 300) | public Map<String, SpecialAbility> getSpecialAbilities() {
method setSpecialAbilities (line 304) | public void setSpecialAbilities(final Map<String, SpecialAbility> spec...
method getCampaignPresets (line 327) | public static List<CampaignPreset> getCampaignPresets() {
method writeToFile (line 347) | public void writeToFile(final JFrame frame, @Nullable File file) {
method writeToXML (line 374) | public void writeToXML(final PrintWriter pw, int indent) {
method loadCampaignPresetsFromDirectory (line 445) | public static List<CampaignPreset> loadCampaignPresetsFromDirectory(fi...
method parseFromFile (line 456) | public static @Nullable CampaignPreset parseFromFile(final @Nullable F...
method parseFromXML (line 474) | public static @Nullable CampaignPreset parseFromXML(final NodeList nl,...
method toString (line 603) | @Override
FILE: MekHQ/src/mekhq/GameThread.java
class GameThread (line 67) | class GameThread extends Thread implements CloseClientListener {
method GameThread (line 103) | public GameThread(String name, String password, Client client, MekHQ a...
method GameThread (line 121) | public GameThread(String name, Client client, MekHQ app, List<Unit> un...
method GameThread (line 140) | public GameThread(String name, String password, Client client, MekHQ a...
method getClient (line 154) | public Client getClient() {
method getLocalBots (line 158) | protected Map<String, AbstractClient> getLocalBots() {
method run (line 165) | @Override
method disconnectGuiSilently (line 287) | protected void disconnectGuiSilently() {
method configureBot (line 299) | private void configureBot(BotClient botClient, BotForce botForce) {
method setupBotEntities (line 342) | protected List<Entity> setupBotEntities(BotClient botClient, BotForce ...
method getPlanetaryConditions (line 363) | protected PlanetaryConditions getPlanetaryConditions() {
method clientClosed (line 371) | @Override
method requestStop (line 377) | public void requestStop() {
method stopRequested (line 388) | public boolean stopRequested() {
method quit (line 392) | public void quit() {
method createController (line 398) | public void createController() {
FILE: MekHQ/src/mekhq/IconPackage.java
class IconPackage (line 44) | public class IconPackage {
method getLoadingScreenImages (line 75) | public TreeMap<Integer, String> getLoadingScreenImages() {
method getAutoResolveScreenImages (line 79) | @Deprecated(since = "0.51.0", forRemoval = true)
method getStartupScreenImagesScreenImages (line 84) | public TreeMap<Integer, String> getStartupScreenImagesScreenImages() {
method IconPackage (line 88) | public IconPackage() {
method getGuiElement (line 92) | public String getGuiElement(String key) {
FILE: MekHQ/src/mekhq/MHQConstants.java
class MHQConstants (line 44) | public final class MHQConstants extends SuiteConstants {
FILE: MekHQ/src/mekhq/MHQOptions.java
class MHQOptions (line 46) | public final class MHQOptions extends SuiteOptions {
method getDisplayDateFormat (line 48) | public String getDisplayDateFormat() {
method getDisplayFormattedDate (line 52) | public String getDisplayFormattedDate(final @Nullable LocalDate date) {
method setDisplayDateFormat (line 58) | public void setDisplayDateFormat(String value) {
method parseDisplayFormattedDate (line 62) | public LocalDate parseDisplayFormattedDate(String text) {
method getLongDisplayDateFormat (line 66) | public String getLongDisplayDateFormat() {
method getLongDisplayFormattedDate (line 71) | public String getLongDisplayFormattedDate(LocalDate date) {
method setLongDisplayDateFormat (line 77) | public void setLongDisplayDateFormat(String value) {
method getHideUnitFluff (line 81) | public boolean getHideUnitFluff() {
method setHideUnitFluff (line 85) | public void setHideUnitFluff(boolean value) {
method getHistoricalDailyLog (line 89) | public boolean getHistoricalDailyLog() {
method setHistoricalDailyLog (line 93) | public void setHistoricalDailyLog(boolean value) {
method getCompanyGeneratorStartup (line 97) | public boolean getCompanyGeneratorStartup() {
method setCompanyGeneratorStartup (line 102) | public void setCompanyGeneratorStartup(final boolean value) {
method getShowCompanyGenerator (line 106) | public boolean getShowCompanyGenerator() {
method setShowCompanyGenerator (line 110) | public void setShowCompanyGenerator(final boolean value) {
method getShowUnitPicturesOnTOE (line 114) | public boolean getShowUnitPicturesOnTOE() {
method setShowUnitPicturesOnTOE (line 118) | public void setShowUnitPicturesOnTOE(final boolean value) {
method getCommandCenterUseUnitMarket (line 123) | @Deprecated(since = "0.50.07", forRemoval = true)
method setCommandCenterUseUnitMarket (line 129) | @Deprecated(since = "0.50.07", forRemoval = true)
method getCommandCenterMRMS (line 134) | public boolean getCommandCenterMRMS() {
method setCommandCenterMRMS (line 138) | public void setCommandCenterMRMS(boolean value) {
method getInterstellarMapShowJumpRadius (line 144) | public boolean getInterstellarMapShowJumpRadius() {
method setInterstellarMapShowJumpRadius (line 149) | public void setInterstellarMapShowJumpRadius(final boolean value) {
method getInterstellarMapShowJumpRadiusMinimumZoom (line 154) | public double getInterstellarMapShowJumpRadiusMinimumZoom() {
method setInterstellarMapShowJumpRadiusMinimumZoom (line 159) | public void setInterstellarMapShowJumpRadiusMinimumZoom(final double v...
method getInterstellarMapJumpRadiusColour (line 164) | public Color getInterstellarMapJumpRadiusColour() {
method setInterstellarMapJumpRadiusColour (line 169) | public void setInterstellarMapJumpRadiusColour(final Color value) {
method getInterstellarMapShowPlanetaryAcquisitionRadius (line 174) | public boolean getInterstellarMapShowPlanetaryAcquisitionRadius() {
method setInterstellarMapShowPlanetaryAcquisitionRadius (line 179) | public void setInterstellarMapShowPlanetaryAcquisitionRadius(final boo...
method getInterstellarMapShowPlanetaryAcquisitionRadiusMinimumZoom (line 184) | public double getInterstellarMapShowPlanetaryAcquisitionRadiusMinimumZ...
method setInterstellarMapShowPlanetaryAcquisitionRadiusMinimumZoom (line 189) | public void setInterstellarMapShowPlanetaryAcquisitionRadiusMinimumZoo...
method getInterstellarMapPlanetaryAcquisitionRadiusColour (line 194) | public Color getInterstellarMapPlanetaryAcquisitionRadiusColour() {
method setInterstellarMapPlanetaryAcquisitionRadiusColour (line 199) | public void setInterstellarMapPlanetaryAcquisitionRadiusColour(final C...
method getInterstellarMapShowContractSearchRadius (line 204) | public boolean getInterstellarMapShowContractSearchRadius() {
method setInterstellarMapShowContractSearchRadius (line 209) | public void setInterstellarMapShowContractSearchRadius(final boolean v...
method getInterstellarMapContractSearchRadiusColour (line 214) | public Color getInterstellarMapContractSearchRadiusColour() {
method setInterstellarMapContractSearchRadiusColour (line 219) | public void setInterstellarMapContractSearchRadiusColour(final Color v...
method getPersonnelFilterStyle (line 226) | public PersonnelFilterStyle getPersonnelFilterStyle() {
method setPersonnelFilterStyle (line 232) | public void setPersonnelFilterStyle(PersonnelFilterStyle value) {
method getPersonnelFilterOnPrimaryRole (line 236) | public boolean getPersonnelFilterOnPrimaryRole() {
method setPersonnelFilterOnPrimaryRole (line 241) | public void setPersonnelFilterOnPrimaryRole(boolean value) {
method getUnifiedDailyReport (line 246) | public boolean getUnifiedDailyReport() {
method setUnifiedDailyReport (line 251) | public void setUnifiedDailyReport(boolean value) {
method getDeployedForeground (line 259) | public Color getDeployedForeground() {
method setDeployedForeground (line 264) | public void setDeployedForeground(Color value) {
method getDeployedBackground (line 268) | public Color getDeployedBackground() {
method setDeployedBackground (line 273) | public void setDeployedBackground(Color value) {
method getBelowContractMinimumForeground (line 277) | public Color getBelowContractMinimumForeground() {
method setBelowContractMinimumForeground (line 282) | public void setBelowContractMinimumForeground(Color value) {
method getBelowContractMinimumBackground (line 287) | public Color getBelowContractMinimumBackground() {
method setBelowContractMinimumBackground (line 293) | public void setBelowContractMinimumBackground(Color value) {
method getInTransitForeground (line 298) | public Color getInTransitForeground() {
method setInTransitForeground (line 303) | public void setInTransitForeground(Color value) {
method getInTransitBackground (line 307) | public Color getInTransitBackground() {
method setInTransitBackground (line 312) | public void setInTransitBackground(Color value) {
method getRefittingForeground (line 316) | public Color getRefittingForeground() {
method setRefittingForeground (line 321) | public void setRefittingForeground(Color value) {
method getRefittingBackground (line 325) | public Color getRefittingBackground() {
method setRefittingBackground (line 330) | public void setRefittingBackground(Color value) {
method getMothballingForeground (line 334) | public Color getMothballingForeground() {
method setMothballingForeground (line 339) | public void setMothballingForeground(Color value) {
method getMothballingBackground (line 343) | public Color getMothballingBackground() {
method setMothballingBackground (line 348) | public void setMothballingBackground(Color value) {
method getMothballedForeground (line 352) | public Color getMothballedForeground() {
method setMothballedForeground (line 357) | public void setMothballedForeground(Color value) {
method getMothballedBackground (line 361) | public Color getMothballedBackground() {
method setMothballedBackground (line 366) | public void setMothballedBackground(Color value) {
method getNotRepairableForeground (line 370) | public Color getNotRepairableForeground() {
method setNotRepairableForeground (line 375) | public void setNotRepairableForeground(Color value) {
method getNotRepairableBackground (line 379) | public Color getNotRepairableBackground() {
method setNotRepairableBackground (line 384) | public void setNotRepairableBackground(Color value) {
method getNonFunctionalForeground (line 388) | public Color getNonFunctionalForeground() {
method setNonFunctionalForeground (line 393) | public void setNonFunctionalForeground(Color value) {
method getNonFunctionalBackground (line 397) | public Color getNonFunctionalBackground() {
method setNonFunctionalBackground (line 402) | public void setNonFunctionalBackground(Color value) {
method getNeedsPartsFixedForeground (line 406) | public Color getNeedsPartsFixedForeground() {
method setNeedsPartsFixedForeground (line 411) | public void setNeedsPartsFixedForeground(Color value) {
method getNeedsPartsFixedBackground (line 416) | public Color getNeedsPartsFixedBackground() {
method setNeedsPartsFixedBackground (line 421) | public void setNeedsPartsFixedBackground(Color value) {
method getUnmaintainedForeground (line 426) | public Color getUnmaintainedForeground() {
method setUnmaintainedForeground (line 431) | public void setUnmaintainedForeground(Color value) {
method getUnmaintainedBackground (line 435) | public Color getUnmaintainedBackground() {
method setUnmaintainedBackground (line 440) | public void setUnmaintainedBackground(Color value) {
method getUncrewedForeground (line 444) | public Color getUncrewedForeground() {
method setUncrewedForeground (line 449) | public void setUncrewedForeground(Color value) {
method getUncrewedBackground (line 453) | public Color getUncrewedBackground() {
method setUncrewedBackground (line 458) | public void setUncrewedBackground(Color value) {
method getLoanOverdueForeground (line 462) | public Color getLoanOverdueForeground() {
method setLoanOverdueForeground (line 467) | public void setLoanOverdueForeground(Color value) {
method getLoanOverdueBackground (line 471) | public Color getLoanOverdueBackground() {
method setLoanOverdueBackground (line 476) | public void setLoanOverdueBackground(Color value) {
method getInjuredForeground (line 480) | public Color getInjuredForeground() {
method setInjuredForeground (line 485) | public void setInjuredForeground(Color value) {
method getInjuredBackground (line 489) | public Color getInjuredBackground() {
method setInjuredBackground (line 494) | public void setInjuredBackground(Color value) {
method getHealedInjuriesForeground (line 498) | public Color getHealedInjuriesForeground() {
method setHealedInjuriesForeground (line 503) | public void setHealedInjuriesForeground(Color value) {
method getHealedInjuriesBackground (line 507) | public Color getHealedInjuriesBackground() {
method setHealedInjuriesBackground (line 512) | public void setHealedInjuriesBackground(Color value) {
method getPregnantForeground (line 516) | public Color getPregnantForeground() {
method setPregnantForeground (line 521) | public void setPregnantForeground(Color value) {
method getPregnantBackground (line 525) | public Color getPregnantBackground() {
method setPregnantBackground (line 530) | public void setPregnantBackground(Color value) {
method getGoneForeground (line 534) | public Color getGoneForeground() {
method setGoneForeground (line 539) | public void setGoneForeground(Color value) {
method getGoneBackground (line 543) | public Color getGoneBackground() {
method setGoneBackground (line 548) | public void setGoneBackground(Color value) {
method getAbsentForeground (line 552) | public Color getAbsentForeground() {
method setAbsentForeground (line 557) | public void setAbsentForeground(Color value) {
method getAbsentBackground (line 561) | public Color getAbsentBackground() {
method setAbsentBackground (line 566) | public void setAbsentBackground(Color value) {
method getFatiguedForeground (line 570) | public Color getFatiguedForeground() {
method setFatiguedForeground (line 575) | public void setFatiguedForeground(Color value) {
method getFatiguedBackground (line 579) | public Color getFatiguedBackground() {
method setFatiguedBackground (line 584) | public void setFatiguedBackground(Color value) {
method getStratConHexCoordForeground (line 588) | public Color getStratConHexCoordForeground() {
method setStratConHexCoordForeground (line 593) | public void setStratConHexCoordForeground(Color value) {
method getFontColorNegative (line 598) | public Color getFontColorNegative() {
method getFontColorNegativeHexColor (line 606) | public String getFontColorNegativeHexColor() {
method setFontColorNegative (line 610) | public void setFontColorNegative(Color value) {
method getFontColorAmazing (line 614) | public Color getFontColorAmazing() {
method getFontColorAmazingHexColor (line 619) | public String getFontColorAmazingHexColor() {
method setFontColorAmazing (line 623) | public void setFontColorAmazing(Color value) {
method getFontColorPositive (line 627) | public Color getFontColorPositive() {
method getFontColorPositiveHexColor (line 635) | public String getFontColorPositiveHexColor() {
method setFontColorPositive (line 639) | public void setFontColorPositive(Color value) {
method getFontColorWarning (line 643) | public Color getFontColorWarning() {
method getFontColorWarningHexColor (line 651) | public String getFontColorWarningHexColor() {
method setFontColorWarning (line 655) | public void setFontColorWarning(Color value) {
method getFontColorSkillUltraGreen (line 660) | public Color getFontColorSkillUltraGreen() {
method getFontColorSkillUltraGreenHexColor (line 668) | public String getFontColorSkillUltraGreenHexColor() {
method setFontColorSkillUltraGreen (line 672) | public void setFontColorSkillUltraGreen(Color value) {
method getFontColorSkillGreen (line 677) | public Color getFontColorSkillGreen() {
method getFontColorSkillGreenHexColor (line 685) | public String getFontColorSkillGreenHexColor() {
method setFontColorSkillGreen (line 689) | public void setFontColorSkillGreen(Color value) {
method getFontColorSkillRegular (line 693) | public Color getFontColorSkillRegular() {
method getFontColorSkillRegularHexColor (line 701) | public String getFontColorSkillRegularHexColor() {
method setFontColorSkillRegular (line 705) | public void setFontColorSkillRegular(Color value) {
method getFontColorSkillVeteran (line 709) | public Color getFontColorSkillVeteran() {
method getFontColorSkillVeteranHexColor (line 717) | public String getFontColorSkillVeteranHexColor() {
method setFontColorSkillVeteran (line 721) | public void setFontColorSkillVeteran(Color value) {
method getFontColorSkillElite (line 725) | public Color getFontColorSkillElite() {
method getFontColorSkillEliteHexColor (line 733) | public String getFontColorSkillEliteHexColor() {
method setFontColorSkillElite (line 737) | public void setFontColorSkillElite(Color value) {
method convertFontColorToHexColor (line 749) | public static String convertFontColorToHexColor(Color color) {
method getMedicalViewDialogHandwritingFont (line 759) | public String getMedicalViewDialogHandwritingFont() {
method setMedicalViewDialogHandwritingFont (line 764) | public void setMedicalViewDialogHandwritingFont(final String value) {
method getNoAutosaveValue (line 770) | public boolean getNoAutosaveValue() {
method setNoAutosaveValue (line 774) | public void setNoAutosaveValue(boolean value) {
method getAutosaveDailyValue (line 778) | public boolean getAutosaveDailyValue() {
method setAutosaveDailyValue (line 782) | public void setAutosaveDailyValue(boolean value) {
method getAutosaveWeeklyValue (line 786) | public boolean getAutosaveWeeklyValue() {
method setAutosaveWeeklyValue (line 790) | public void setAutosaveWeeklyValue(boolean value) {
method getAutosaveMonthlyValue (line 794) | public boolean getAutosaveMonthlyValue() {
method setAutosaveMonthlyValue (line 798) | public void setAutosaveMonthlyValue(boolean value) {
method getAutosaveYearlyValue (line 802) | public boolean getAutosaveYearlyValue() {
method setAutosaveYearlyValue (line 806) | public void setAutosaveYearlyValue(boolean value) {
method getAutosaveBeforeScenariosValue (line 810) | public boolean getAutosaveBeforeScenariosValue() {
method setAutosaveBeforeScenariosValue (line 815) | public void setAutosaveBeforeScenariosValue(boolean value) {
method getAutosaveBeforeMissionEndValue (line 819) | public boolean getAutosaveBeforeMissionEndValue() {
method setAutosaveBeforeMissionEndValue (line 823) | public void setAutosaveBeforeMissionEndValue(boolean value) {
method getMaximumNumberOfAutoSavesValue (line 827) | public int getMaximumNumberOfAutoSavesValue() {
method setMaximumNumberOfAutoSavesValue (line 832) | public void setMaximumNumberOfAutoSavesValue(int value) {
method getNewDayAsTechPoolFill (line 838) | public boolean getNewDayAsTechPoolFill() {
method setNewDayAsTechPoolFill (line 842) | public void setNewDayAsTechPoolFill(final boolean value) {
method getNewDayMedicPoolFill (line 846) | public boolean getNewDayMedicPoolFill() {
method setNewDayMedicPoolFill (line 850) | public void setNewDayMedicPoolFill(final boolean value) {
method getNewDaySoldierPoolFill (line 854) | public boolean getNewDaySoldierPoolFill() {
method setNewDaySoldierPoolFill (line 858) | public void setNewDaySoldierPoolFill(final boolean value) {
method getNewDayBattleArmorPoolFill (line 862) | public boolean getNewDayBattleArmorPoolFill() {
method setNewDayBattleArmorPoolFill (line 866) | public void setNewDayBattleArmorPoolFill(final boolean value) {
method getNewDayVehicleCrewGroundPoolFill (line 870) | public boolean getNewDayVehicleCrewGroundPoolFill() {
method setNewDayVehicleCrewGroundPoolFill (line 874) | public void setNewDayVehicleCrewGroundPoolFill(final boolean value) {
method getNewDayVehicleCrewVTOLPoolFill (line 878) | public boolean getNewDayVehicleCrewVTOLPoolFill() {
method setNewDayVehicleCrewVTOLPoolFill (line 882) | public void setNewDayVehicleCrewVTOLPoolFill(final boolean value) {
method getNewDayVehicleCrewNavalPoolFill (line 886) | public boolean getNewDayVehicleCrewNavalPoolFill() {
method setNewDayVehicleCrewNavalPoolFill (line 890) | public void setNewDayVehicleCrewNavalPoolFill(final boolean value) {
method getNewDayVesselPilotPoolFill (line 894) | public boolean getNewDayVesselPilotPoolFill() {
method setNewDayVesselPilotPoolFill (line 898) | public void setNewDayVesselPilotPoolFill(final boolean value) {
method getNewDayVesselGunnerPoolFill (line 902) | public boolean getNewDayVesselGunnerPoolFill() {
method setNewDayVesselGunnerPoolFill (line 906) | public void setNewDayVesselGunnerPoolFill(final boolean value) {
method getNewDayVesselCrewPoolFill (line 910) | public boolean getNewDayVesselCrewPoolFill() {
method setNewDayVesselCrewPoolFill (line 914) | public void setNewDayVesselCrewPoolFill(final boolean value) {
method getNewDayMRMS (line 918) | public boolean getNewDayMRMS() {
method setNewDayMRMS (line 922) | public void setNewDayMRMS(final boolean value) {
method getNewDayOptimizeMedicalAssignments (line 926) | public boolean getNewDayOptimizeMedicalAssignments() {
method setNewDayOptimizeMedicalAssignments (line 931) | public void setNewDayOptimizeMedicalAssignments(final boolean value) {
method getNewDayAutomaticallyAssignUnmaintainedUnits (line 936) | public boolean getNewDayAutomaticallyAssignUnmaintainedUnits() {
method setNewDayAutomaticallyAssignUnmaintainedUnits (line 941) | public void setNewDayAutomaticallyAssignUnmaintainedUnits(final boolea...
method getNewMonthQuickTrain (line 946) | public boolean getNewMonthQuickTrain() {
method setNewMonthQuickTrain (line 951) | public void setNewMonthQuickTrain(final boolean value) {
method getSelfCorrectMaintenance (line 956) | public boolean getSelfCorrectMaintenance() {
method setSelfCorrectMaintenance (line 961) | public void setSelfCorrectMaintenance(final boolean value) {
method getNewDayFormationIconOperationalStatus (line 966) | public boolean getNewDayFormationIconOperationalStatus() {
method setNewDayFormationIconOperationalStatus (line 971) | public void setNewDayFormationIconOperationalStatus(final boolean valu...
method getNewDayFormationIconOperationalStatusStyle (line 976) | public FormationIconOperationalStatusStyle getNewDayFormationIconOpera...
method setNewDayFormationIconOperationalStatusStyle (line 982) | public void setNewDayFormationIconOperationalStatusStyle(final Formati...
method getPreferGzippedOutput (line 993) | public boolean getPreferGzippedOutput() {
method setPreferGzippedOutput (line 1004) | public void setPreferGzippedOutput(boolean value) {
method getWriteCustomsToXML (line 1008) | public boolean getWriteCustomsToXML() {
method setWriteCustomsToXML (line 1012) | public void setWriteCustomsToXML(boolean value) {
method getWriteAllUnitsToXML (line 1016) | public boolean getWriteAllUnitsToXML() {
method setWriteAllUnitsToXML (line 1020) | public void setWriteAllUnitsToXML(boolean value) {
method getSaveMothballState (line 1024) | public boolean getSaveMothballState() {
method setSaveMothballState (line 1028) | public void setSaveMothballState(boolean value) {
method getRankSystemsPath (line 1038) | public String getRankSystemsPath() {
method setRankSystemsPath (line 1049) | public void setRankSystemsPath(final String value) {
method getIndividualRankSystemPath (line 1056) | public String getIndividualRankSystemPath() {
method setIndividualRankSystemPath (line 1067) | public void setIndividualRankSystemPath(final String value) {
method getUnitSpriteExportPath (line 1075) | public String getUnitSpriteExportPath() {
method setUnitSpriteExportPath (line 1086) | public void setUnitSpriteExportPath(final String value) {
method getLayeredFormationIconPath (line 1093) | public String getLayeredFormationIconPath() {
method setLayeredFormationIconPath (line 1104) | public void setLayeredFormationIconPath(final String value) {
method getCompanyGenerationDirectoryPath (line 1108) | public String getCompanyGenerationDirectoryPath() {
method setCompanyGenerationDirectoryPath (line 1113) | public void setCompanyGenerationDirectoryPath(final String value) {
method getNagDialogIgnore (line 1119) | public boolean getNagDialogIgnore(final String key) {
method setNagDialogIgnore (line 1123) | public void setNagDialogIgnore(final String key, final boolean value) {
method getStartGameDelay (line 1129) | public int getStartGameDelay() {
method setStartGameDelay (line 1133) | public void setStartGameDelay(final int startGameDelay) {
method getStartGameClientDelay (line 1137) | public int getStartGameClientDelay() {
method setStartGameClientDelay (line 1141) | public void setStartGameClientDelay(final int startGameClientDelay) {
method getStartGameClientRetryCount (line 1146) | public int getStartGameClientRetryCount() {
method setStartGameClientRetryCount (line 1151) | public void setStartGameClientRetryCount(final int startGameClientRetr...
method getStartGameBotClientDelay (line 1156) | public int getStartGameBotClientDelay() {
method setStartGameBotClientDelay (line 1161) | public void setStartGameBotClientDelay(final int startGameBotClientDel...
method getStartGameBotClientRetryCount (line 1166) | public int getStartGameBotClientRetryCount() {
method setStartGameBotClientRetryCount (line 1171) | public void setStartGameBotClientRetryCount(final int startGameBotClie...
method getDefaultCompanyGenerationMethod (line 1176) | public CompanyGenerationMethod getDefaultCompanyGenerationMethod() {
method setDefaultCompanyGenerationMethod (line 1182) | public void setDefaultCompanyGenerationMethod(final CompanyGenerationM...
FILE: MekHQ/src/mekhq/MHQOptionsChangedEvent.java
class MHQOptionsChangedEvent (line 40) | public class MHQOptionsChangedEvent extends MMEvent {
method MHQOptionsChangedEvent (line 42) | public MHQOptionsChangedEvent() {
FILE: MekHQ/src/mekhq/MHQStaticDirectoryManager.java
class MHQStaticDirectoryManager (line 48) | public class MHQStaticDirectoryManager extends MMStaticDirectoryManager {
method MHQStaticDirectoryManager (line 71) | protected MHQStaticDirectoryManager() {
method initialize (line 81) | public static void initialize() {
method initializeFormationIcons (line 93) | private static void initializeFormationIcons() {
method initializeAwardIcons (line 121) | private static void initializeAwardIcons() {
method initializeStorySplash (line 148) | private static void initializeStorySplash() {
method initializeUserStoryPortraits (line 169) | public static void initializeUserStoryPortraits(String path) {
method initializeUserStorySplash (line 190) | public static void initializeUserStorySplash(String path) {
method getFormationIcons (line 217) | public static @Nullable AbstractDirectory getFormationIcons() {
method getAwardIcons (line 228) | public static @Nullable AbstractDirectory getAwardIcons() {
method getStorySplash (line 239) | public static @Nullable AbstractDirectory getStorySplash() {
method getUserStoryPortraits (line 251) | public static @Nullable AbstractDirectory getUserStoryPortraits() {
method getUserStorySplash (line 263) | public static @Nullable AbstractDirectory getUserStorySplash() {
method refreshFormationIcons (line 278) | public static AbstractDirectory refreshFormationIcons() {
method refreshAwardIcons (line 290) | public static AbstractDirectory refreshAwardIcons() {
method refreshStorySplash (line 302) | public static AbstractDirectory refreshStorySplash() {
FILE: MekHQ/src/mekhq/MekHQ.java
class MekHQ (line 134) | public class MekHQ implements GameListener {
method getMHQPreferences (line 171) | public static SuitePreferences getMHQPreferences() {
method getMHQOptions (line 175) | public static MHQOptions getMHQOptions() {
method getSelectedTheme (line 179) | public static ObservableString getSelectedTheme() {
method getPersonnelDirectory (line 183) | public static ObservableString getPersonnelDirectory() {
method getPartsDirectory (line 187) | public static ObservableString getPartsDirectory() {
method getPlanetsDirectory (line 191) | public static ObservableString getPlanetsDirectory() {
method getStarMapsDirectory (line 195) | public static ObservableString getStarMapsDirectory() {
method getUnitsDirectory (line 199) | public static ObservableString getUnitsDirectory() {
method getCampaignsDirectory (line 203) | public static ObservableString getCampaignsDirectory() {
method getScenarioTemplatesDirectory (line 207) | public static ObservableString getScenarioTemplatesDirectory() {
method getFinancesDirectory (line 211) | public static ObservableString getFinancesDirectory() {
method getInstance (line 215) | protected static MekHQ getInstance() {
method MekHQ (line 219) | private MekHQ() {
method startup (line 226) | protected void startup() {
method setTooltipSettings (line 257) | private static void setTooltipSettings() {
method restart (line 266) | public void restart() {
method getAutosaveService (line 284) | public IAutosaveService getAutosaveService() {
method setUserPreferences (line 291) | private static void setUserPreferences() {
method exit (line 328) | public void exit(boolean includeSavePrompt) {
method showNewView (line 355) | public void showNewView() {
method main (line 362) | public static void main(String... args) {
method initializeLogging (line 409) | public static void initializeLogging() {
method getUnderlyingInformation (line 416) | public static String getUnderlyingInformation() {
method getMyServer (line 420) | public Server getMyServer() {
method getCampaign (line 424) | public Campaign getCampaign() {
method setCampaign (line 428) | public void setCampaign(Campaign c) {
method getCampaignController (line 432) | public CampaignController getCampaignController() {
method getCampaigngui (line 439) | public CampaignGUI getCampaigngui() {
method setCampaignGUI (line 446) | @Deprecated(since = "0.51.0", forRemoval = true)
method joinGame (line 451) | public void joinGame(Scenario scenario, List<Unit> meks) {
method startHost (line 487) | public void startHost(Scenario scenario, boolean loadSaveGame, List<Un...
method startHost (line 501) | public void startHost(Scenario scenario, boolean loadSaveGame, List<Un...
method stopHost (line 574) | public synchronized void stopHost() {
method gameBoardChanged (line 582) | @Override
method gameBoardNew (line 587) | @Override
method gameEnd (line 592) | @Override
method gameEntityChange (line 597) | @Override
method gameEntityNew (line 602) | @Override
method gameEntityNewOffboard (line 607) | @Override
method gameEntityRemove (line 612) | @Override
method gameMapQuery (line 617) | @Override
method gameNewAction (line 622) | @Override
method gamePhaseChange (line 627) | @Override
method gameVictory (line 637) | @Override
method resolveScenario (line 671) | public void resolveScenario(Scenario selectedScenario) {
method playerHasFieldControl (line 726) | private boolean playerHasFieldControl(Scenario selectedScenario, @Null...
method gamePlayerChange (line 768) | @Override
method gamePlayerChat (line 772) | @Override
method gamePlayerConnected (line 776) | @Override
method gamePlayerDisconnected (line 780) | @Override
method gameReport (line 784) | @Override
method gameSettingsChange (line 788) | @Override
method gameTurnChange (line 792) | @Override
method gameClientFeedbackRequest (line 796) | @Override
method getIconPackage (line 801) | public IconPackage getIconPackage() {
method getSetupForces (line 805) | private SetupForces getSetupForces(Scenario scenario, List<Unit> units) {
method startAutoResolve (line 817) | public void startAutoResolve(Scenario scenario, List<Unit> units) {
method autoResolveConcluded (line 854) | public void autoResolveConcluded(AutoResolveConcludedEvent autoResolve...
method postAbortedAutoResolve (line 880) | private void postAbortedAutoResolve(AutoResolveConcludedEvent autoReso...
method resetPersonsHits (line 896) | private void resetPersonsHits(ResolveScenarioTracker tracker) {
method registerHandler (line 919) | public static void registerHandler(Object handler) {
method triggerEvent (line 923) | public static boolean triggerEvent(MMEvent event) {
method unregisterHandler (line 927) | public static void unregisterHandler(Object handler) {
method initEventHandlers (line 934) | private void initEventHandlers() {
method setLookAndFeel (line 942) | private static void setLookAndFeel(String themeName) {
method updateGuiScaling (line 987) | public static void updateGuiScaling() {
class MekHqPropertyChangedListener (line 992) | private static class MekHqPropertyChangedListener implements PropertyC...
method propertyChange (line 993) | @Override
method addOSXKeyStrokes (line 1001) | private static void addOSXKeyStrokes(InputMap inputMap) {
FILE: MekHQ/src/mekhq/NullEntityException.java
class NullEntityException (line 35) | public class NullEntityException extends Exception {
method NullEntityException (line 36) | public NullEntityException(final String message) {
FILE: MekHQ/src/mekhq/Utilities.java
class Utilities (line 112) | public class Utilities {
method Utilities (line 115) | private Utilities() {
method roll3d6 (line 126) | public static int roll3d6() {
method dice (line 138) | public static int dice(int num, int faces) {
method getMunitionsFor (line 149) | public static List<AmmoType> getMunitionsFor(Entity entity, AmmoType c...
method lastFileModified (line 225) | public static @Nullable File lastFileModified(String dir, FilenameFilt...
method getAllFiles (line 263) | @Deprecated(since = "0.51.0", forRemoval = true)
method getAllVariants (line 269) | public static ArrayList<String> getAllVariants(Entity en, Campaign cam...
method isOmniVariant (line 323) | public static boolean isOmniVariant(Entity entity1, Entity entity2) {
method generateExpLevel (line 412) | public static int generateExpLevel(int bonus) {
method randomSkillFromTarget (line 430) | public static int randomSkillFromTarget(int target) {
method genRandomCrewWithCombinedSkill (line 444) | public static Map<CrewType, Collection<Person>> genRandomCrewWithCombi...
method rebalanceCrew (line 814) | private static void rebalanceCrew(int desiredSkill, List<Person> peopl...
method migrateCrewData (line 875) | private static void migrateCrewData(Person person, Crew oldCrew, int c...
method populateOptionsFromCrew (line 926) | private static void populateOptionsFromCrew(Person p, Crew oldCrew) {
method generateRandomExp (line 934) | public static int generateRandomExp() {
method rollSpecialAbilities (line 949) | public static int rollSpecialAbilities(int bonus) {
method rollProbability (line 960) | public static boolean rollProbability(int prob) {
method getAgeByExpLevel (line 1033) | public static int getAgeByExpLevel(int experienceLevel, boolean isClan) {
method getOptionDisplayName (line 1085) | public static String getOptionDisplayName(IOption option) {
method printMoneyArray (line 1091) | public static String printMoneyArray(Money... array) {
method readMoneyArray (line 1099) | public static Money[] readMoneyArray(Node node) {
method readMoneyArray (line 1103) | public static Money[] readMoneyArray(Node node, int minimumSize) {
method getSimpleTechLevel (line 1118) | public static int getSimpleTechLevel(int level) {
method copyfile (line 1142) | public static void copyfile(final File inFile, final File outFile) {
method exportTableToCSV (line 1164) | public static String exportTableToCSV(JTable table, File file) {
method splitString (line 1194) | public static Vector<String> splitString(String str, String sep) {
method combineString (line 1203) | public static String combineString(Collection<String> vec, String sep) {
method capitalize (line 1221) | public static String capitalize(String str) {
method getRomanNumeralsFromArabicNumber (line 1239) | public static String getRomanNumeralsFromArabicNumber(int level, boole...
method sortMapByValue (line 1259) | public static Map<String, Integer> sortMapByValue(Map<String, Integer>...
method isLikelyCapture (line 1284) | public static boolean isLikelyCapture(Entity en) {
method parseXMLFiles (line 1296) | @Deprecated(since = "0.51.0", forRemoval = true)
method parseXMLFiles (line 1306) | public static void parseXMLFiles(String dirName, Consumer<FileInputStr...
method toBufferedImage (line 1354) | public static BufferedImage toBufferedImage(Image img) {
method loadPlayerTransports (line 1384) | public static void loadPlayerTransports(int trnId, Set<Integer> toLoad...
method loadPlayerTransports (line 1442) | public static void loadPlayerTransports(int trnId, Map<Integer, ? exte...
method sendLoadEntity (line 1511) | private static void sendLoadEntity(Client client, int id, int trnId, E...
method towPlayerTrailers (line 1533) | public static void towPlayerTrailers(int tractorId, int trailerId, Cli...
method sendTowEntity (line 1565) | private static void sendTowEntity(Client client, int trailerId, int tr...
method selectBestBayFor (line 1586) | public static int selectBestBayFor(Entity cargo, Entity transport) {
method retrieveUnit (line 1671) | public static MekSummary retrieveUnit(String shortNameRaw) throws Enti...
method generateEntityStub (line 1682) | public static List<String> generateEntityStub(List<Entity> entities) {
method getDeploymentString (line 1714) | public static String getDeploymentString(Player player) {
method getDeploymentString (line 1748) | public static String getDeploymentString(IPlayerSettings settings) {
method createPlayer (line 1759) | public static Player createPlayer(IPlayerSettings settings) {
method updatePlayerSettings (line 1778) | public static void updatePlayerSettings(IPlayerSettings settings, Play...
FILE: MekHQ/src/mekhq/adapter/DateAdapter.java
class DateAdapter (line 40) | public class DateAdapter extends XmlAdapter<String, LocalDate> {
method unmarshal (line 41) | @Override
method marshal (line 46) | @Override
FILE: MekHQ/src/mekhq/campaign/AwardSet.java
class AwardSet (line 47) | @XmlRootElement(name = "awards")
method AwardSet (line 52) | public AwardSet() {
method getAwards (line 56) | public List<Award> getAwards() {
FILE: MekHQ/src/mekhq/campaign/Campaign.java
class Campaign (line 281) | public class Campaign implements ITechManager {
type AdministratorSpecialization (line 504) | public enum AdministratorSpecialization {
method Campaign (line 518) | public Campaign(CampaignConfiguration campConf) {
method Campaign (line 554) | public Campaign(Game game,
method getAutosaveService (line 692) | public IAutosaveService getAutosaveService() {
method getApp (line 699) | public MekHQ getApp() {
method setApp (line 706) | public void setApp(MekHQ app) {
method setOverviewLoadingValue (line 713) | public void setOverviewLoadingValue(boolean overviewLoadingValue) {
method getGame (line 717) | public Game getGame() {
method getPlayer (line 721) | public Player getPlayer() {
method setId (line 725) | public void setId(UUID id) {
method getId (line 729) | public UUID getId() {
method setVersion (line 733) | public void setVersion(Version version) {
method getVersion (line 737) | public @Nullable Version getVersion() {
method getPastVersions (line 741) | public List<Version> getPastVersions() {
method addPastVersion (line 745) | public void addPastVersion(Version pastVersion) {
method getName (line 749) | public String getName() {
method setName (line 753) | public void setName(String s) {
method getEra (line 757) | public Era getEra() {
method getTitle (line 761) | public String getTitle() {
method patternHasWeekdayField (line 791) | private static boolean patternHasWeekdayField(String pattern) {
method getLocalDate (line 810) | public LocalDate getLocalDate() {
method setLocalDate (line 814) | public void setLocalDate(LocalDate currentDay) {
method getCampaignStartDate (line 818) | public LocalDate getCampaignStartDate() {
method setCampaignStartDate (line 822) | public void setCampaignStartDate(LocalDate campaignStartDate) {
method getCurrentSystem (line 826) | public PlanetarySystem getCurrentSystem() {
method isAvoidingEmptySystems (line 830) | public boolean isAvoidingEmptySystems() {
method setIsAvoidingEmptySystems (line 834) | public void setIsAvoidingEmptySystems(boolean isAvoidingEmptySystems) {
method isOverridingCommandCircuitRequirements (line 838) | public boolean isOverridingCommandCircuitRequirements() {
method setIsOverridingCommandCircuitRequirements (line 842) | public void setIsOverridingCommandCircuitRequirements(boolean isOverri...
method isUseCommandCircuitForContract (line 846) | public boolean isUseCommandCircuitForContract(Contract contract) {
method isUseCommandCircuit (line 858) | public boolean isUseCommandCircuit() {
method getSystemHiringHallLevel (line 871) | public HiringHallLevel getSystemHiringHallLevel() {
method getFunds (line 875) | public Money getFunds() {
method setFormations (line 879) | public void setFormations(Formation f) {
method getFormations (line 883) | public Formation getFormations() {
method getAllFormations (line 887) | public List<Formation> getAllFormations() {
method getFormationIds (line 891) | public TreeMap<Integer, Formation> getFormationIds() {
method getAllUnitsInTheTOE (line 909) | public List<UUID> getAllUnitsInTheTOE(boolean standardFormationsOnly) {
method addCombatTeam (line 918) | public void addCombatTeam(CombatTeam combatTeam) {
method removeCombatTeam (line 928) | public void removeCombatTeam(final int formationId) {
method getCombatTeamsAsMap (line 939) | public Hashtable<Integer, CombatTeam> getCombatTeamsAsMap() {
method getCombatTeamsAsList (line 977) | public ArrayList<CombatTeam> getCombatTeamsAsList() {
method setShoppingList (line 988) | public void setShoppingList(ShoppingList sl) {
method getShoppingList (line 992) | public ShoppingList getShoppingList() {
method getPersonnelMarket (line 997) | public PersonnelMarket getPersonnelMarket() {
method setPersonnelMarket (line 1001) | public void setPersonnelMarket(final PersonnelMarket personnelMarket) {
method getContractMarket (line 1005) | public AbstractContractMarket getContractMarket() {
method setContractMarket (line 1009) | public void setContractMarket(final AbstractContractMarket contractMar...
method getUnitMarket (line 1013) | public AbstractUnitMarket getUnitMarket() {
method setUnitMarket (line 1017) | public void setUnitMarket(final AbstractUnitMarket unitMarket) {
method getNewPersonnelMarket (line 1021) | public NewPersonnelMarket getNewPersonnelMarket() {
method setNewPersonnelMarket (line 1025) | public void setNewPersonnelMarket(final NewPersonnelMarket newPersonne...
method getRandomDeath (line 1032) | public RandomDeath getRandomDeath() {
method resetRandomDeath (line 1036) | public void resetRandomDeath() {
method setRandomDeath (line 1040) | public void setRandomDeath(RandomDeath randomDeath) {
method getDivorce (line 1045) | public AbstractDivorce getDivorce() {
method setDivorce (line 1049) | public void setDivorce(final AbstractDivorce divorce) {
method getMarriage (line 1053) | public AbstractMarriage getMarriage() {
method setMarriage (line 1057) | public void setMarriage(final AbstractMarriage marriage) {
method getProcreation (line 1061) | public AbstractProcreation getProcreation() {
method setProcreation (line 1065) | public void setProcreation(final AbstractProcreation procreation) {
method setRetirementDefectionTracker (line 1070) | public void setRetirementDefectionTracker(RetirementDefectionTracker r...
method getRetirementDefectionTracker (line 1074) | public RetirementDefectionTracker getRetirementDefectionTracker() {
method setPersonnelWhoAdvancedInXP (line 1084) | public void setPersonnelWhoAdvancedInXP(List<Person> personnelWhoAdvan...
method getPersonnelWhoAdvancedInXP (line 1093) | public List<Person> getPersonnelWhoAdvancedInXP() {
method initUnitGenerator (line 1101) | public void initUnitGenerator() {
method getUnitGenerator (line 1108) | public IUnitGenerator getUnitGenerator() {
method setCampaignEventProcessor (line 1115) | public void setCampaignEventProcessor(CampaignEventProcessor processor) {
method setAtBConfig (line 1119) | public void setAtBConfig(AtBConfiguration config) {
method getAtBConfig (line 1123) | public AtBConfiguration getAtBConfig() {
method applyRetirement (line 1138) | public boolean applyRetirement(Money totalPayout, Map<UUID, UUID> unit...
method getCampaignSummary (line 1278) | public CampaignSummary getCampaignSummary() {
method setCampaignSummary (line 1282) | @Deprecated(since = "0.51.0", forRemoval = true)
method getNews (line 1288) | public News getNews() {
method addFormation (line 1299) | public void addFormation(Formation formation, Formation superFormation) {
method moveFormation (line 1314) | public void moveFormation(Formation formation, Formation superFormatio...
method importFormation (line 1351) | public void importFormation(Formation formation) {
method importScenario (line 1361) | public void importScenario(Scenario scenario) {
method addUnitToFormation (line 1366) | public void addUnitToFormation(final @Nullable Unit unit, final Format...
method addUnitToFormation (line 1376) | public void addUnitToFormation(@Nullable Unit unit, int id) {
method addAllCombatTeams (line 1437) | private void addAllCombatTeams(Formation formation) {
method addMission (line 1452) | public void addMission(Mission mission) {
method importMission (line 1465) | public void importMission(final Mission mission) {
method addMissionWithoutId (line 1471) | private void addMissionWithoutId(Mission m) {
method getMission (line 1482) | public @Nullable Mission getMission(int id) {
method getMissions (line 1489) | public Collection<Mission> getMissions() {
method getSortedMissions (line 1496) | public List<Mission> getSortedMissions() {
method getActiveMissions (line 1505) | public List<Mission> getActiveMissions(final boolean excludeEndDateChe...
method getCompletedMissions (line 1511) | public List<Mission> getCompletedMissions() {
method getActiveContracts (line 1524) | public List<Contract> getActiveContracts() {
method getActiveContracts (line 1541) | public List<Contract> getActiveContracts(boolean includeFutureContract...
method getFutureContracts (line 1566) | public List<Contract> getFutureContracts() {
method getAtBContracts (line 1583) | public List<AtBContract> getAtBContracts() {
method hasActiveAtBContract (line 1603) | public boolean hasActiveAtBContract(boolean includeFutureContracts) {
method hasActiveAtBContract (line 1623) | public boolean hasActiveAtBContract() {
method hasFutureAtBContract (line 1634) | public boolean hasFutureAtBContract() {
method getFutureAtBContracts (line 1652) | public List<AtBContract> getFutureAtBContracts() {
method getActiveAtBContracts (line 1658) | public List<AtBContract> getActiveAtBContracts() {
method getActiveAtBContracts (line 1662) | public List<AtBContract> getActiveAtBContracts(boolean excludeEndDateC...
method getCompletedAtBContracts (line 1669) | public List<AtBContract> getCompletedAtBContracts() {
method hasActiveContract (line 1679) | public boolean hasActiveContract() {
method setHasActiveContract (line 1687) | public void setHasActiveContract() {
method addScenario (line 1696) | public void addScenario(Scenario s, Mission m) {
method addScenario (line 1714) | public void addScenario(Scenario s, Mission m, boolean suppressReport) {
method getScenario (line 1730) | public Scenario getScenario(int id) {
method getScenarios (line 1734) | public Collection<Scenario> getScenarios() {
method getActiveScenarios (line 1738) | public List<Scenario> getActiveScenarios() {
method setLocation (line 1742) | public void setLocation(CurrentLocation l) {
method moveToPlanetarySystem (line 1761) | public void moveToPlanetarySystem(PlanetarySystem planetarySystem) {
method getLocation (line 1774) | public CurrentLocation getLocation() {
method isOnContractAndPlanetside (line 1778) | public boolean isOnContractAndPlanetside() {
method getTurnoverRetirementInformation (line 1784) | public List<String> getTurnoverRetirementInformation() {
method getTransportCostCalculation (line 1788) | public TransportCostCalculations getTransportCostCalculation(int crewE...
method importUnit (line 1801) | public void importUnit(Unit unit) {
method addCampaignTransport (line 1840) | public void addCampaignTransport(CampaignTransportType campaignTranspo...
method updateTransportInTransports (line 1859) | public void updateTransportInTransports(Unit transport) {
method updateTransportInTransports (line 1873) | public void updateTransportInTransports(CampaignTransportType campaign...
method removeCampaignTransporter (line 1887) | public void removeCampaignTransporter(CampaignTransportType campaignTr...
method addTestUnit (line 1904) | public void addTestUnit(TestUnit testUnit, int deliveryTime) {
method addNewUnit (line 1948) | public Unit addNewUnit(Entity en, boolean allowNewPilots, int days) {
method addNewUnit (line 1964) | public Unit addNewUnit(Entity en, boolean allowNewPilots, int days, Pa...
method getHangar (line 2028) | public Hangar getHangar() {
method getHangarStatistics (line 2035) | public HangarStatistics getHangarStatistics() {
method getCargoStatistics (line 2042) | public CargoStatistics getCargoStatistics() {
method getUnits (line 2046) | public Collection<Unit> getUnits() {
method getActiveUnits (line 2055) | public Collection<Unit> getActiveUnits() {
method getEntities (line 2059) | public List<Entity> getEntities() {
method getUnit (line 2063) | public Unit getUnit(UUID id) {
method newDependent (line 2077) | public Person newDependent(Gender gender) {
method newDependent (line 2092) | public Person newDependent(Gender gender, @Nullable Faction originFact...
method newPerson (line 2126) | public Person newPerson(final PersonnelRole role) {
method newPerson (line 2139) | public Person newPerson(final PersonnelRole primaryRole, final Personn...
method newPerson (line 2153) | public Person newPerson(final PersonnelRole primaryRole, final String ...
method newPerson (line 2174) | public Person newPerson(final PersonnelRole primaryRole, final Personn...
method newPerson (line 2188) | public Person newPerson(final PersonnelRole primaryRole, final Abstrac...
method newPerson (line 2202) | public Person newPerson(final PersonnelRole primaryRole, final Personn...
method getFieldKitchenWithinCapacity (line 2235) | public boolean getFieldKitchenWithinCapacity() {
method setFieldKitchenWithinCapacity (line 2239) | public void setFieldKitchenWithinCapacity(boolean fieldKitchenWithinCa...
method getMashTheatresWithinCapacity (line 2243) | public boolean getMashTheatresWithinCapacity() {
method calculateMASHTheaterCapacity (line 2247) | public int calculateMASHTheaterCapacity() {
method getCachedMashTheaterCapacity (line 2255) | @Deprecated(since = "0.51.0", forRemoval = true)
method setMashTheatreCapacity (line 2260) | public void setMashTheatreCapacity(int mashTheatreCapacity) {
method getRepairBaysRented (line 2264) | @Deprecated(since = "0.51.0", forRemoval = true)
method setRepairBaysRented (line 2269) | public void setRepairBaysRented(int repairBaysRented) {
method changeRepairBaysRented (line 2273) | @Deprecated(since = "0.51.0", forRemoval = true)
method recruitPerson (line 2291) | public boolean recruitPerson(Person person) {
method recruitPerson (line 2298) | @Deprecated(since = "0.50.06", forRemoval = true)
method recruitPerson (line 2319) | public boolean recruitPerson(Person person, boolean gmAdd, boolean emp...
method recruitPerson (line 2326) | @Deprecated(since = "0.50.06", forRemoval = true)
method recruitPerson (line 2346) | public boolean recruitPerson(Person person, PrisonerStatus prisonerSta...
method recruitPerson (line 2368) | public boolean recruitPerson(Person person, PrisonerStatus prisonerSta...
method recruitPerson (line 2376) | @Deprecated(since = "0.50.06", forRemoval = true)
method recruitPerson (line 2405) | public boolean recruitPerson(Person person, PrisonerStatus prisonerSta...
method employCampFollower (line 2546) | public void employCampFollower(Person person) {
method simulateRelationshipHistory (line 2563) | private void simulateRelationshipHistory(Person person) {
method checkBloodnameAdd (line 2748) | public void checkBloodnameAdd(Person person, boolean ignoreDice) {
method importPerson (line 2936) | public void importPerson(Person person) {
method getPerson (line 2941) | public @Nullable Person getPerson(final UUID id) {
method getPersonnel (line 2945) | public Collection<Person> getPersonnel() {
method getPersonnelFilteringOutDeparted (line 2958) | public List<Person> getPersonnelFilteringOutDeparted() {
method getPersonnelFilteringOutDepartedAndAbsent (line 2971) | public List<Person> getPersonnelFilteringOutDepartedAndAbsent() {
method getActivePersonnel (line 2981) | @Deprecated(since = "0.50.07", forRemoval = true)
method getActivePersonnel (line 3011) | public List<Person> getActivePersonnel(boolean includePrisoners, boole...
method invalidateActivePersonnelCache (line 3057) | public void invalidateActivePersonnelCache() {
method getSalaryEligiblePersonnel (line 3067) | public List<Person> getSalaryEligiblePersonnel() {
method getActiveCombatPersonnel (line 3082) | @Deprecated(since = "0.51.0", forRemoval = true)
method getActiveDependents (line 3094) | public List<Person> getActiveDependents() {
method getCurrentPrisoners (line 3106) | public List<Person> getCurrentPrisoners() {
method getPrisonerDefectors (line 3117) | public List<Person> getPrisonerDefectors() {
method getFriendlyPrisoners (line 3128) | public List<Person> getFriendlyPrisoners() {
method getStudents (line 3137) | public List<Person> getStudents() {
method getFactionSelector (line 3149) | public AbstractFactionSelector getFactionSelector() {
method getFactionSelector (line 3160) | public AbstractFactionSelector getFactionSelector(final RandomOriginOp...
method getPlanetSelector (line 3169) | public AbstractPlanetSelector getPlanetSelector() {
method getPlanetSelector (line 3180) | public AbstractPlanetSelector getPlanetSelector(final RandomOriginOpti...
method getPersonnelGenerator (line 3192) | public AbstractPersonnelGenerator getPersonnelGenerator(final Abstract...
method getPatients (line 3202) | public List<Person> getPatients() {
method getPatientsAssignedToDoctors (line 3212) | public List<Person> getPatientsAssignedToDoctors() {
method getServiceableUnits (line 3222) | public List<Unit> getServiceableUnits() {
method importParts (line 3237) | public void importParts(Collection<Part> newParts) {
method getWarehouse (line 3258) | public Warehouse getWarehouse() {
method setWarehouse (line 3267) | public void setWarehouse(Warehouse warehouse) {
method getQuartermaster (line 3271) | public Quartermaster getQuartermaster() {
method getParts (line 3278) | public Collection<Part> getParts() {
method getPart (line 3282) | public Part getPart(int id) {
method getFormation (line 3286) | @Nullable
method getCurrentReport (line 3291) | public List<String> getCurrentReport() {
method setCurrentReportHTML (line 3295) | public void setCurrentReportHTML(String html) {
method getCurrentReportHTML (line 3299) | public String getCurrentReportHTML() {
method getNewReports (line 3303) | public List<String> getNewReports() {
method setNewReports (line 3307) | public void setNewReports(List<String> reports) {
method fetchAndClearNewReports (line 3311) | public List<String> fetchAndClearNewReports() {
method getSkillReport (line 3317) | public List<String> getSkillReport() {
method setSkillReportHTML (line 3321) | public void setSkillReportHTML(String html) {
method getSkillReportHTML (line 3325) | public String getSkillReportHTML() {
method getNewSkillReports (line 3329) | public List<String> getNewSkillReports() {
method setNewSkillReports (line 3333) | public void setNewSkillReports(List<String> reports) {
method fetchAndClearNewSkillReports (line 3337) | public List<String> fetchAndClearNewSkillReports() {
method getTechnicalReport (line 3343) | public List<String> getTechnicalReport() {
method setTechnicalReportHTML (line 3347) | public void setTechnicalReportHTML(String html) {
method getTechnicalReportHTML (line 3351) | public String getTechnicalReportHTML() {
method getNewTechnicalReports (line 3355) | public List<String> getNewTechnicalReports() {
method setNewTechnicalReports (line 3359) | public void setNewTechnicalReports(List<String> reports) {
method fetchAndClearNewTechnicalReports (line 3363) | public List<String> fetchAndClearNewTechnicalReports() {
method getFinancesReport (line 3369) | public List<String> getFinancesReport() {
method setFinancesReportHTML (line 3373) | public void setFinancesReportHTML(String html) {
method getFinancesReportHTML (line 3377) | public String getFinancesReportHTML() {
method getNewFinancesReports (line 3381) | public List<String> getNewFinancesReports() {
method setNewFinancesReports (line 3385) | public void setNewFinancesReports(List<String> reports) {
method fetchAndClearNewFinancesReports (line 3389) | public List<String> fetchAndClearNewFinancesReports() {
method getAcquisitionsReport (line 3395) | public List<String> getAcquisitionsReport() {
method setAcquisitionsReportHTML (line 3399) | public void setAcquisitionsReportHTML(String html) {
method getAcquisitionsReportHTML (line 3403) | public String getAcquisitionsReportHTML() {
method getNewAcquisitionsReports (line 3407) | public List<String> getNewAcquisitionsReports() {
method setNewAcquisitionsReports (line 3411) | public void setNewAcquisitionsReports(List<String> reports) {
method fetchAndClearNewAcquisitionsReports (line 3415) | public List<String> fetchAndClearNewAcquisitionsReports() {
method getMedicalReport (line 3421) | public List<String> getMedicalReport() {
method setMedicalReportHTML (line 3425) | public void setMedicalReportHTML(String html) {
method getMedicalReportHTML (line 3429) | public String getMedicalReportHTML() {
method getNewMedicalReports (line 3433) | public List<String> getNewMedicalReports() {
method setNewMedicalReports (line 3437) | public void setNewMedicalReports(List<String> reports) {
method fetchAndClearNewMedicalReports (line 3441) | public List<String> fetchAndClearNewMedicalReports() {
method getPersonnelReport (line 3447) | public List<String> getPersonnelReport() {
method setPersonnelReportHTML (line 3451) | public void setPersonnelReportHTML(String html) {
method getPersonnelReportHTML (line 3455) | public String getPersonnelReportHTML() {
method getNewPersonnelReports (line 3459) | public List<String> getNewPersonnelReports() {
method setNewPersonnelReports (line 3463) | public void setNewPersonnelReports(List<String> reports) {
method fetchAndClearNewPersonnelReports (line 3467) | public List<String> fetchAndClearNewPersonnelReports() {
method getBattleReport (line 3473) | public List<String> getBattleReport() {
method setBattleReportHTML (line 3477) | public void setBattleReportHTML(String html) {
method getBattleReportHTML (line 3481) | public String getBattleReportHTML() {
method getNewBattleReports (line 3485) | public List<String> getNewBattleReports() {
method setNewBattleReports (line 3489) | public void setNewBattleReports(List<String> reports) {
method fetchAndClearNewBattleReports (line 3493) | public List<String> fetchAndClearNewBattleReports() {
method getPoliticsReport (line 3499) | public List<String> getPoliticsReport() {
method setPoliticsReportHTML (line 3503) | public void setPoliticsReportHTML(String html) {
method getPoliticsReportHTML (line 3507) | public String getPoliticsReportHTML() {
method getNewPoliticsReports (line 3511) | public List<String> getNewPoliticsReports() {
method setNewPoliticsReports (line 3515) | public void setNewPoliticsReports(List<String> reports) {
method fetchAndClearNewPoliticsReports (line 3519) | public List<String> fetchAndClearNewPoliticsReports() {
method findBestInRole (line 3536) | public Person findBestInRole(PersonnelRole role, String primary, @Null...
method findBestInRole (line 3581) | public Person findBestInRole(PersonnelRole role, String skill) {
method findBestAtSkill (line 3597) | public @Nullable Person findBestAtSkill(String skillName) {
method getTechs (line 3623) | public List<Person> getTechs() {
method getTechs (line 3627) | public List<Person> getTechs(final boolean noZeroMinute) {
method getTechsExpanded (line 3631) | public List<Person> getTechsExpanded() {
method getTechs (line 3635) | public List<Person> getTechs(final boolean noZeroMinute, final boolean...
method getTechsExpanded (line 3670) | public List<Person> getTechsExpanded(final boolean noZeroMinute, final...
method getAdmins (line 3708) | public List<Person> getAdmins() {
method isWorkingOnRefit (line 3718) | public boolean isWorkingOnRefit(Person person) {
method getDoctors (line 3725) | public List<Person> getDoctors() {
method getPatientsFor (line 3735) | public int getPatientsFor(Person doctor) {
method getLogisticsPerson (line 3768) | public @Nullable Person getLogisticsPerson() {
method getSeniorAdminPerson (line 3893) | public @Nullable Person getSeniorAdminPerson(AdministratorSpecializati...
method getSeniorMedicalPerson (line 3921) | public @Nullable Person getSeniorMedicalPerson() {
method getCommander (line 3949) | public @Nullable Person getCommander() {
method getSecondInCommand (line 3965) | public @Nullable Person getSecondInCommand() {
method findTopCommanders (line 3981) | private Person[] findTopCommanders() {
method getLogisticsPersonnel (line 4078) | public List<Person> getLogisticsPersonnel() {
method goShopping (line 4180) | public ShoppingList goShopping(ShoppingList sList) {
method goShoppingAutomatically (line 4202) | private ShoppingList goShoppingAutomatically(ShoppingList sList) {
method goShoppingStandard (line 4231) | private ShoppingList goShoppingStandard(ShoppingList sList) {
method goShoppingByPlanet (line 4274) | private ShoppingList goShoppingByPlanet(ShoppingList sList) {
method canAcquireParts (line 4405) | public boolean canAcquireParts(@Nullable Person person) {
method canPayFor (line 4425) | public boolean canPayFor(IAcquisitionWork acquisition) {
method findContactForAcquisition (line 4447) | public PartAcquisitionResult findContactForAcquisition(IAcquisitionWor...
method acquireEquipment (line 4564) | public boolean acquireEquipment(IAcquisitionWork acquisition, Person p...
method acquireEquipment (line 4585) | private boolean acquireEquipment(IAcquisitionWork acquisition, Person ...
method workOnMothballingOrActivation (line 4694) | public void workOnMothballingOrActivation(Unit unit) {
method mothball (line 4726) | public void mothball(Unit unit) {
method activate (line 4812) | public void activate(Unit unit) {
method refit (line 4869) | public void refit(Refit theRefit) {
method fixWarehousePart (line 4963) | public Part fixWarehousePart(Part part, Person tech) {
method fixPart (line 4991) | public String fixPart(IPartWork partWork, Person tech) {
method getAction (line 5188) | private static String getAction(IPartWork partWork) {
method reloadNews (line 5214) | public void reloadNews() {
method readNews (line 5221) | public void readNews() {
method getDeploymentDeficit (line 5239) | public int getDeploymentDeficit(AtBContract contract) {
method newDay (line 5287) | public boolean newDay() {
method getTotalRentFeesExcludingBays (line 5307) | public Money getTotalRentFeesExcludingBays() {
method checkForNewMercenaryOrganizationStartUp (line 5327) | @Deprecated(since = "0.50.07", forRemoval = true)
method checkForNewMercenaryOrganizationStartUp (line 5352) | public void checkForNewMercenaryOrganizationStartUp(boolean bypassStar...
method refreshPersonnelMarkets (line 5393) | @Deprecated(since = "0.50.07", forRemoval = true)
method refreshPersonnelMarkets (line 5412) | public void refreshPersonnelMarkets(boolean isCampaignStart) {
method getInitiativeBonus (line 5453) | public int getInitiativeBonus() {
method setInitiativeBonus (line 5457) | public void setInitiativeBonus(int bonus) {
method applyInitiativeBonus (line 5461) | public void applyInitiativeBonus(int bonus) {
method initiativeBonusIncrement (line 5472) | public void initiativeBonusIncrement(boolean change) {
method getInitiativeMaxBonus (line 5483) | public int getInitiativeMaxBonus() {
method setInitiativeMaxBonus (line 5487) | public void setInitiativeMaxBonus(int bonus) {
method getFlaggedCommander (line 5499) | public @Nullable Person getFlaggedCommander() {
method getFlaggedSecondInCommand (line 5511) | public @Nullable Person getFlaggedSecondInCommand() {
method getSeniorCommander (line 5518) | @Deprecated(since = "0.50.07", forRemoval = true)
method removeUnit (line 5532) | public void removeUnit(UUID id) {
method removePerson (line 5591) | public void removePerson(final @Nullable Person person) {
method removePerson (line 5595) | public void removePerson(final @Nullable Person person, final boolean ...
method removeAllPatientsFor (line 5631) | public void removeAllPatientsFor(Person doctor) {
method removeScenario (line 5639) | public void removeScenario(final Scenario scenario) {
method removeMission (line 5657) | public void removeMission(final Mission mission) {
method removeKill (line 5669) | public void removeKill(Kill k) {
method removeKillsFor (line 5675) | public void removeKillsFor(UUID personID) {
method removeFormation (line 5679) | public void removeFormation(Formation formation) {
method removeUnitFromFormation (line 5720) | public void removeUnitFromFormation(Unit u) {
method getFormationFor (line 5761) | public @Nullable Formation getFormationFor(final @Nullable Unit unit) {
method getFormationFor (line 5765) | public @Nullable Formation getFormationFor(final Person person) {
method restore (line 5780) | public void restore() {
method cleanUp (line 5853) | public void cleanUp() {
method isOvertimeAllowed (line 5887) | public boolean isOvertimeAllowed() {
method setOvertime (line 5891) | public void setOvertime(boolean b) {
method isGM (line 5896) | public boolean isGM() {
method setGMMode (line 5900) | public void setGMMode(boolean b) {
method getFaction (line 5905) | public Faction getFaction() {
method isClanCampaign (line 5920) | public boolean isClanCampaign() {
method isPirateCampaign (line 5935) | public boolean isPirateCampaign() {
method isMercenaryCampaign (line 5950) | public boolean isMercenaryCampaign() {
method setFaction (line 5954) | public void setFaction(final Faction faction) {
method setFactionDirect (line 5959) | public void setFactionDirect(final Faction faction) {
method getRetainerEmployerCode (line 5963) | public String getRetainerEmployerCode() {
method setRetainerEmployerCode (line 5967) | public void setRetainerEmployerCode(String code) {
method getRetainerStartDate (line 5971) | public LocalDate getRetainerStartDate() {
method setRetainerStartDate (line 5975) | public void setRetainerStartDate(LocalDate retainerStartDate) {
method getRawCrimeRating (line 5979) | public int getRawCrimeRating() {
method setCrimeRating (line 5983) | public void setCrimeRating(int crimeRating) {
method changeCrimeRating (line 5993) | public void changeCrimeRating(int change) {
method getCrimePirateModifier (line 5997) | public int getCrimePirateModifier() {
method setCrimePirateModifier (line 6001) | public void setCrimePirateModifier(int crimePirateModifier) {
method changeCrimePirateModifier (line 6011) | public void changeCrimePirateModifier(int change) {
method getAdjustedCrimeRating (line 6020) | public int getAdjustedCrimeRating() {
method getDateOfLastCrime (line 6024) | public @Nullable LocalDate getDateOfLastCrime() {
method setDateOfLastCrime (line 6028) | public void setDateOfLastCrime(LocalDate dateOfLastCrime) {
method getReputation (line 6032) | public ReputationController getReputation() {
method setReputation (line 6036) | public void setReputation(ReputationController reputation) {
method getFactionStandings (line 6040) | public FactionStandings getFactionStandings() {
method setFactionStandings (line 6044) | public void setFactionStandings(FactionStandings factionStandings) {
method addInMemoryLogHistory (line 6048) | private void addInMemoryLogHistory(LogEntry le) {
method beginReport (line 6065) | public void beginReport(String report) {
method addReport (line 6083) | public void addReport(final DailyReportType type, final String format,...
method addReport (line 6093) | public void addReport(DailyReportType type, String report) {
method addReportInternal (line 6111) | private void addReportInternal(final DailyReportType type, final Strin...
method getCamouflage (line 6216) | public Camouflage getCamouflage() {
method setCamouflage (line 6220) | public void setCamouflage(final Camouflage camouflage) {
method getColour (line 6224) | public PlayerColour getColour() {
method setColour (line 6228) | public void setColour(final PlayerColour colour) {
method getUnitIcon (line 6232) | public StandardFormationIcon getUnitIcon() {
method setUnitIcon (line 6236) | public void setUnitIcon(final StandardFormationIcon unitIcon) {
method addFunds (line 6240) | public void addFunds(final TransactionType type, final Money quantity,...
method removeFunds (line 6250) | public void removeFunds(final TransactionType type, final Money quanti...
method payPersonnel (line 6269) | @Deprecated(since = "0.51.0", forRemoval = true)
method getCampaignOptions (line 6283) | public CampaignOptions getCampaignOptions() {
method setCampaignOptions (line 6287) | public void setCampaignOptions(CampaignOptions options) {
method getStoryArc (line 6327) | public StoryArc getStoryArc() {
method useStoryArc (line 6331) | public void useStoryArc(StoryArc arc, boolean initiate) {
method unloadStoryArc (line 6340) | public void unloadStoryArc() {
method getCurrentObjectives (line 6345) | public List<String> getCurrentObjectives() {
method getFameAndInfamy (line 6352) | @Deprecated(since = "0.50.07", forRemoval = true)
method getAutomatedMothballUnits (line 6368) | public List<UUID> getAutomatedMothballUnits() {
method setAutomatedMothballUnits (line 6381) | public void setAutomatedMothballUnits(List<UUID> automatedMothballUnit...
method getTemporaryPrisonerCapacity (line 6385) | public int getTemporaryPrisonerCapacity() {
method setTemporaryPrisonerCapacity (line 6389) | public void setTemporaryPrisonerCapacity(int temporaryPrisonerCapacity) {
method changeTemporaryPrisonerCapacity (line 6402) | public void changeTemporaryPrisonerCapacity(int delta) {
method getRandomEventLibraries (line 6407) | public RandomEventLibraries getRandomEventLibraries() {
method getFactionStandingUltimatumsLibrary (line 6411) | public FactionStandingUltimatumsLibrary getFactionStandingUltimatumsLi...
method writeToXML (line 6415) | public void writeToXML(final PrintWriter writer, boolean isBugReportPr...
method writeUnitDefinitionsIntoSave (line 6730) | private void writeUnitDefinitionsIntoSave(PrintWriter printWriter, boo...
method getSystems (line 6803) | public ArrayList<PlanetarySystem> getSystems() {
method getSystemById (line 6811) | public PlanetarySystem getSystemById(String id) {
method getSystemNames (line 6815) | public Vector<String> getSystemNames() {
method getSystemByName (line 6823) | public PlanetarySystem getSystemByName(String name) {
method getRankSystem (line 6828) | public RankSystem getRankSystem() {
method setRankSystem (line 6832) | public void setRankSystem(final @Nullable RankSystem rankSystem) {
method setRankSystemDirect (line 6859) | public void setRankSystemDirect(final RankSystem rankSystem) {
method setFinances (line 6864) | public void setFinances(Finances f) {
method getFinances (line 6868) | public Finances getFinances() {
method getAccountant (line 6872) | public Accountant getAccountant() {
method calculateJumpPath (line 6889) | public JumpPath calculateJumpPath(PlanetarySystem start, PlanetarySyst...
method calculateJumpPath (line 6918) | public JumpPath calculateJumpPath(PlanetarySystem start, PlanetarySyst...
method findNodeWithLowestFScore (line 7072) | private String findNodeWithLowestFScore(Set<String> openSet, Map<Strin...
method reconstructPath (line 7097) | private JumpPath reconstructPath(String current, Map<String, String> p...
method calculateCostPerJump (line 7133) | @Deprecated(since = "50.10", forRemoval = true)
method getSimplifiedTravelTime (line 7441) | public int getSimplifiedTravelTime(PlanetarySystem destination) {
method personUpdated (line 7451) | public void personUpdated(Person person) {
method getTargetFor (line 7480) | public TargetRoll getTargetFor(final IPartWork partWork, final Person ...
method getTargetForAcquisition (line 7592) | public TargetRoll getTargetForAcquisition(final IAcquisitionWork acqui...
method getTargetForAcquisition (line 7605) | public TargetRoll getTargetForAcquisition(final IAcquisitionWork acqui...
method getTargetForAcquisition (line 7620) | public TargetRoll getTargetForAcquisition(final IAcquisitionWork acqui...
method getCurrentPlanetaryConditions (line 7625) | public PlanetaryConditions getCurrentPlanetaryConditions(Scenario scen...
method getTargetForAcquisition (line 7686) | public TargetRoll getTargetForAcquisition(final IAcquisitionWork acqui...
method findAtBPartsAvailabilityLevel (line 7770) | public int findAtBPartsAvailabilityLevel() {
method resetAsTechMinutes (line 7783) | public void resetAsTechMinutes() {
method setAsTechPoolMinutes (line 7788) | public void setAsTechPoolMinutes(int minutes) {
method getAsTechPoolMinutes (line 7792) | public int getAsTechPoolMinutes() {
method setAsTechPoolOvertime (line 7796) | public void setAsTechPoolOvertime(int overtime) {
method getAsTechPoolOvertime (line 7800) | public int getAsTechPoolOvertime() {
method getPossibleAsTechPoolMinutes (line 7804) | public int getPossibleAsTechPoolMinutes() {
method getPossibleAsTechPoolOvertime (line 7808) | public int getPossibleAsTechPoolOvertime() {
method setAsTechPool (line 7812) | public void setAsTechPool(int size) {
method getAsTechPool (line 7817) | @Deprecated(since = "0.50.07", forRemoval = true)
method getTemporaryAsTechPool (line 7822) | public int getTemporaryAsTechPool() {
method setMedicPool (line 7826) | public void setMedicPool(int size) {
method getMedicPool (line 7831) | @Deprecated(since = "0.50.07", forRemoval = true)
method getTemporaryMedicPool (line 7836) | public int getTemporaryMedicPool() {
method getTempCrewPool (line 7847) | public int getTempCrewPool(PersonnelRole role) {
method getTempCrewRoleKeys (line 7851) | public Set<PersonnelRole> getTempCrewRoleKeys() {
method setTempCrewPool (line 7861) | public void setTempCrewPool(PersonnelRole role, int size) {
method isBlobCrewEnabled (line 7883) | public boolean isBlobCrewEnabled(PersonnelRole role) {
method getTempCrewInUse (line 7904) | public int getTempCrewInUse(PersonnelRole role) {
method getAvailableTempCrewPool (line 7917) | public int getAvailableTempCrewPool(PersonnelRole role) {
method requiresAdditionalAsTechs (line 7923) | public boolean requiresAdditionalAsTechs() {
method getAsTechNeed (line 7927) | public int getAsTechNeed() {
method increaseAsTechPool (line 7933) | public void increaseAsTechPool(int i) {
method resetAsTechPool (line 7940) | public void resetAsTechPool() {
method emptyAsTechPool (line 7945) | public void emptyAsTechPool() {
method fillAsTechPool (line 7950) | public void fillAsTechPool() {
method decreaseAsTechPool (line 7957) | public void decreaseAsTechPool(int i) {
method getNumberAsTechs (line 7965) | public int getNumberAsTechs() {
method getNumberPrimaryAsTechs (line 7979) | public int getNumberPrimaryAsTechs() {
method getAdvancedAsTechContribution (line 8009) | private static int getAdvancedAsTechContribution(Person person) {
method getNumberSecondaryAsTechs (line 8023) | public int getNumberSecondaryAsTechs() {
method getAvailableAsTechs (line 8041) | public int getAvailableAsTechs(final int minutes, final boolean alread...
method getShorthandedMod (line 8068) | public int getShorthandedMod(int availableHelp, boolean medicalStaff) {
method getShorthandedModForCrews (line 8085) | public int getShorthandedModForCrews(final @Nullable Crew crew) {
method getMedicsPerDoctor (line 8100) | public int getMedicsPerDoctor() {
method getNumberMedics (line 8113) | public int getNumberMedics() {
method getPermanentMedicPool (line 8133) | private int getPermanentMedicPool() {
method requiresAdditionalMedics (line 8172) | public boolean requiresAdditionalMedics() {
method getMedicsNeed (line 8176) | public int getMedicsNeed() {
method increaseMedicPool (line 8180) | public void increaseMedicPool(int i) {
method resetMedicPool (line 8185) | public void resetMedicPool() {
method emptyMedicPool (line 8190) | public void emptyMedicPool() {
method fillMedicPool (line 8195) | public void fillMedicPool() {
method decreaseMedicPool (line 8202) | public void decreaseMedicPool(int i) {
method increaseTempCrewPool (line 8213) | public void increaseTempCrewPool(PersonnelRole role, int amount) {
method decreaseTempCrewPool (line 8224) | public void decreaseTempCrewPool(PersonnelRole role, int amount) {
method fireTempCrewPoolChangedEvent (line 8235) | private void fireTempCrewPoolChangedEvent(PersonnelRole role, int chan...
method emptyTempCrewPoolForRole (line 8254) | public void emptyTempCrewPoolForRole(PersonnelRole role) {
method fillTempCrewPoolForRole (line 8264) | public void fillTempCrewPoolForRole(PersonnelRole role) {
method resetTempCrewPoolForRole (line 8292) | public void resetTempCrewPoolForRole(PersonnelRole role) {
method clearBlobCrewForRole (line 8304) | public void clearBlobCrewForRole(PersonnelRole role) {
method clearBlobCrew (line 8324) | @Deprecated
method unitCanUseTempCrewRole (line 8352) | private boolean unitCanUseTempCrewRole(Unit unit, PersonnelRole role) {
method distributeTempCrewPoolToUnits (line 8377) | public void distributeTempCrewPoolToUnits(PersonnelRole role) {
method getGameOptions (line 8408) | public GameOptions getGameOptions() {
method getGameOptionsVector (line 8412) | public Vector<IBasicOption> getGameOptionsVector() {
method setGameOptions (line 8424) | public void setGameOptions(final GameOptions gameOptions) {
method setGameOptions (line 8428) | public void setGameOptions(final Vector<IBasicOption> options) {
method importKill (line 8441) | public void importKill(Kill k) {
method addKill (line 8449) | public void addKill(Kill k) {
method getKills (line 8463) | public List<Kill> getKills() {
method getKillsFor (line 8472) | public List<Kill> getKillsFor(UUID pid) {
method getPartsStore (line 8483) | public PartsStore getPartsStore() {
method setPartsStore (line 8487) | @Deprecated(since = "0.51.0", forRemoval = true)
method addCustom (line 8493) | public void addCustom(String name) {
method isCustom (line 8497) | public boolean isCustom(Unit u) {
method checkDuplicateNamesDuringAdd (line 8504) | private synchronized void checkDuplicateNamesDuringAdd(Entity entity) {
method checkDuplicateNamesDuringDelete (line 8513) | private synchronized void checkDuplicateNamesDuringDelete(Entity entit...
method getUnitRatingText (line 8526) | public String getUnitRatingText() {
method getAtBUnitRatingMod (line 8535) | public int getAtBUnitRatingMod() {
method getCommanderStrategy (line 8544) | @Deprecated(since = "0.51.0", forRemoval = true)
method getRandomSkillPreferences (line 8559) | public RandomSkillPreferences getRandomSkillPreferences() {
method setRandomSkillPreferences (line 8563) | public void setRandomSkillPreferences(RandomSkillPreferences prefs) {
method setStartingSystem (line 8570) | public void setStartingSystem(final @Nullable Planet planet) {
method assignRandomPortraitFor (line 8595) | public void assignRandomPortraitFor(final Person person) {
method assignRandomOriginFor (line 8612) | public void assignRandomOriginFor(final Person person) {
method clearGameData (line 8629) | public void clearGameData(Entity entity) {
method refreshNetworks (line 8726) | public void refreshNetworks() {
method disbandNetworkOf (line 8786) | public void disbandNetworkOf(Unit u) {
method removeUnitsFromNetwork (line 8808) | public void removeUnitsFromNetwork(Vector<Unit> removedUnits) {
method addUnitsToNetwork (line 8849) | public void addUnitsToNetwork(Vector<Unit> addedUnits, String networkI...
method getAvailableC3iNetworks (line 8887) | public Vector<String[]> getAvailableC3iNetworks() {
method getAvailableNC3Networks (line 8918) | public Vector<String[]> getAvailableNC3Networks() {
method getAvailableNovaCEWSNetworks (line 8949) | public Vector<String[]> getAvailableNovaCEWSNetworks() {
method getAvailableC3MastersForSlaves (line 8977) | public Vector<String[]> getAvailableC3MastersForSlaves() {
method getAvailableC3MastersForMasters (line 9011) | public Vector<String[]> getAvailableC3MastersForMasters() {
method removeUnitsFromC3Master (line 9040) | public void removeUnitsFromC3Master(Unit master) {
method reloadGameEntities (line 9058) | public void reloadGameEntities() {
method completeMission (line 9068) | public void completeMission(@Nullable Mission mission, MissionStatus s...
method calculatePartTransitTime (line 9166) | public int calculatePartTransitTime(PlanetarySystem system) {
method calculatePartTransitTime (line 9218) | public int calculatePartTransitTime(int availability) {
method calculatePartTransitTime (line 9259) | public int calculatePartTransitTime(AvailabilityValue availability) {
method getPartInventory (line 9272) | public PartInventory getPartInventory(Part part) {
method addLoan (line 9313) | public void addLoan(Loan loan) {
method payOffLoan (line 9327) | public void payOffLoan(Loan loan) {
method getCampaignTransporterMap (line 9347) | private CampaignTransporterMap getCampaignTransporterMap(CampaignTrans...
method getTransports (line 9366) | public Map<TransporterType, Map<Double, Set<UUID>>> getTransports(Camp...
method getTransportsByType (line 9378) | public Set<Unit> getTransportsByType(CampaignTransportType campaignTra...
method getTransportsByType (line 9395) | public Set<Unit> getTransportsByType(CampaignTransportType campaignTra...
method hasTacticalTransports (line 9401) | private boolean hasTacticalTransports() {
method hasShipTransports (line 9405) | private boolean hasShipTransports() {
method hasTowTransports (line 9409) | private boolean hasTowTransports() {
method hasTransports (line 9420) | public boolean hasTransports(CampaignTransportType campaignTransportTy...
method initTimeInService (line 9434) | @Deprecated(since = "0.50.07", forRemoval = true)
method initTimeInRank (line 9458) | @Deprecated(since = "0.50.07", forRemoval = true)
method initTurnover (line 9485) | public void initTurnover() {
method initAtB (line 9489) | public void initAtB(boolean newCampaign) {
method shutdownAtB (line 9569) | public void shutdownAtB() {
method checkTurnoverPrompt (line 9585) | public int checkTurnoverPrompt() {
method checkScenariosDue (line 9648) | public boolean checkScenariosDue() {
method setUnitRating (line 9659) | public void setUnitRating(IUnitRating rating) {
method getUnitRating (line 9667) | @Deprecated(since = "0.50.10", forRemoval = true)
method getTechIntroYear (line 9672) | @Override
method getGameYear (line 9681) | @Override
method getTechFaction (line 9686) | @Override
method updateTechFactionCode (line 9691) | public void updateTechFactionCode() {
method useClanTechBase (line 9719) | @Override
method useMixedTech (line 9724) | @Override
method getTechLevel (line 9733) | @Override
method unofficialNoYear (line 9743) | @Override
method useVariableTechLevel (line 9748) | @Override
method showExtinct (line 9753) | @Override
method getAutoResolveBehaviorSettings (line 9758) | public BehaviorSettings getAutoResolveBehaviorSettings() {
method setAutoResolveBehaviorSettings (line 9762) | public void setAutoResolveBehaviorSettings(BehaviorSettings settings) {
method getCommanderAddress (line 9774) | public String getCommanderAddress() {
method getCommanderAddress (line 9792) | public String getCommanderAddress(boolean isInformal) {
method isProcessProcurement (line 9822) | public boolean isProcessProcurement() {
method setProcessProcurement (line 9826) | public void setProcessProcurement(boolean processProcurement) {
method getPartsInUseRequestedStockMap (line 9831) | public Map<String, Double> getPartsInUseRequestedStockMap() {
method setPartsInUseRequestedStockMap (line 9835) | public void setPartsInUseRequestedStockMap(Map<String, Double> partsIn...
method getIgnoreMothballed (line 9839) | public boolean getIgnoreMothballed() {
method setIgnoreMothballed (line 9843) | public void setIgnoreMothballed(boolean ignoreMothballed) {
method getTopUpWeekly (line 9847) | public boolean getTopUpWeekly() {
method setTopUpWeekly (line 9851) | public void setTopUpWeekly(boolean topUpWeekly) {
method getIgnoreSparesUnderQuality (line 9855) | public PartQuality getIgnoreSparesUnderQuality() {
method setIgnoreSparesUnderQuality (line 9859) | public void setIgnoreSparesUnderQuality(PartQuality ignoreSparesUnderQ...
method writePartInUseToXML (line 9863) | public void writePartInUseToXML(final PrintWriter pw, int indent) {
method writePartInUseMapToXML (line 9872) | public void writePartInUseMapToXML(final PrintWriter pw, int indent) {
method wipePartsInUseMap (line 9884) | public void wipePartsInUseMap() {
method getCampaignFactionIcon (line 9895) | public ImageIcon getCampaignFactionIcon() {
method checkLinkedScenario (line 9910) | public boolean checkLinkedScenario(int scenarioID) {
method getAllCombatEntities (line 9925) | public List<Entity> getAllCombatEntities() {
method getNewCampaignStartingPlanet (line 9963) | public Planet getNewCampaignStartingPlanet() {
method getMercenaryOrPirateStartingPlanet (line 10029) | private Planet getMercenaryOrPirateStartingPlanet(Factions factions, S...
method getSystemsInstance (line 10079) | @Deprecated(since = "0.51.0", forRemoval = true)
method setSystemsInstance (line 10090) | @Deprecated(since = "0.51.0", forRemoval = true)
FILE: MekHQ/src/mekhq/campaign/CampaignConfiguration.java
class CampaignConfiguration (line 72) | public class CampaignConfiguration {
method CampaignConfiguration (line 121) | @Deprecated(since = "0.51.0", forRemoval = true)
method CampaignConfiguration (line 153) | public CampaignConfiguration(
method CampaignConfiguration (line 239) | @Deprecated(since = "0.51.0", forRemoval = true)
method getGame (line 306) | public Game getGame() {
method getPlayer (line 310) | public Player getPlayer() {
method getName (line 314) | public String getName() {
method getDate (line 318) | public LocalDate getDate() {
method getCampaignOpts (line 322) | public CampaignOptions getCampaignOpts() {
method getGameOptions (line 326) | public GameOptions getGameOptions() {
method getPartsStore (line 330) | public PartsStore getPartsStore() {
method getNewPersonnelMarket (line 334) | public NewPersonnelMarket getNewPersonnelMarket() {
method getRandomDeath (line 338) | public RandomDeath getRandomDeath() {
method getCampaignSummary (line 342) | public CampaignSummary getCampaignSummary() {
method getfaction (line 346) | public Faction getfaction() {
method getTechFaction (line 350) | public megamek.common.enums.Faction getTechFaction() {
method getCurrencyManager (line 354) | public CurrencyManager getCurrencyManager() {
method getSystemsInstance (line 358) | public Systems getSystemsInstance() {
method getLocation (line 362) | public CurrentLocation getLocation() {
method getReputationController (line 366) | public ReputationController getReputationController() {
method getFactionStandings (line 370) | public FactionStandings getFactionStandings() {
method getRankSystem (line 374) | public RankSystem getRankSystem() {
method getFormations (line 378) | public Formation getFormations() {
method getfinances (line 382) | public Finances getfinances() {
method getRandomEvents (line 386) | public RandomEventLibraries getRandomEvents() {
method getUltimatums (line 390) | public FactionStandingUltimatumsLibrary getUltimatums() {
method getRetDefTracker (line 394) | public RetirementDefectionTracker getRetDefTracker() {
method getAutosave (line 398) | public IAutosaveService getAutosave() {
method getBehaviorSettings (line 402) | public BehaviorSettings getBehaviorSettings() {
method getPersonnelMarket (line 406) | public PersonnelMarket getPersonnelMarket() {
method getAtBMonthlyContractMarket (line 410) | public AbstractContractMarket getAtBMonthlyContractMarket() {
method getUnitMarket (line 414) | public AbstractUnitMarket getUnitMarket() {
method getDivorce (line 418) | public AbstractDivorce getDivorce() {
method getMarriage (line 422) | public AbstractMarriage getMarriage() {
method getProcreation (line 426) | public AbstractProcreation getProcreation() {
method setPlayer (line 430) | public void setPlayer(Player player) {
method setGame (line 434) | public void setGame(Game game) {
method setGameOptions (line 438) | public void setGameOptions(GameOptions gameOptions) {
method setName (line 442) | public void setName(String name) {
method setCurrentDay (line 446) | public void setCurrentDay(LocalDate currentDay) {
method setFormations (line 450) | public void setFormations(Formation formations) {
method setFaction (line 454) | public void setFaction(Faction faction) {
method setTechFaction (line 458) | public void setTechFaction(megamek.common.enums.Faction techFaction) {
method setRankSystem (line 462) | public void setRankSystem(RankSystem rankSystem) {
method setCurrencyManager (line 466) | @Deprecated(since = "0.51.0", forRemoval = true)
method setFinances (line 471) | public void setFinances(Finances finances) {
method setSystemsInstance (line 475) | public void setSystemsInstance(Systems systemsInstance) {
method setLocation (line 479) | public void setLocation(CurrentLocation location) {
method setCampaignOptions (line 483) | public void setCampaignOptions(CampaignOptions campaignOptions) {
method setPersonnelMarket (line 487) | public void setPersonnelMarket(PersonnelMarket personnelMarket) {
method setContractMarket (line 491) | public void setContractMarket(AbstractContractMarket contractMarket) {
method setUnitMarket (line 495) | public void setUnitMarket(AbstractUnitMarket unitMarket) {
method setDivorce (line 499) | public void setDivorce(AbstractDivorce divorce) {
method setMarriage (line 503) | public void setMarriage(AbstractMarriage marriage) {
method setProcreation (line 507) | public void setProcreation(AbstractProcreation procreation) {
method setRandomEventLibraries (line 511) | @Deprecated(since = "0.51.0", forRemoval = true)
method setFactionStandingUltimatumsLibrary (line 516) | @Deprecated(since = "0.51.0", forRemoval = true)
method setRetirementDefectionTracker (line 521) | public void setRetirementDefectionTracker(RetirementDefectionTracker r...
method setReputation (line 525) | public void setReputation(ReputationController reputation) {
method setFactionStandings (line 529) | public void setFactionStandings(FactionStandings factionStandings) {
method setAutoResolveBehaviorSettings (line 533) | public void setAutoResolveBehaviorSettings(BehaviorSettings autoResolv...
method setAutosaveService (line 537) | @Deprecated(since = "0.51.0", forRemoval = true)
method setPartsStore (line 542) | public void setPartsStore(PartsStore partsStore) {
method setNewPersonnelMarket (line 546) | public void setNewPersonnelMarket(NewPersonnelMarket newPersonnelMarke...
method setRandomDeath (line 550) | public void setRandomDeath(RandomDeath randomDeath) {
method setCampaignSummary (line 554) | public void setCampaignSummary(CampaignSummary campaignSummary) {
FILE: MekHQ/src/mekhq/campaign/CampaignController.java
class CampaignController (line 40) | public class CampaignController {
method CampaignController (line 50) | public CampaignController(Campaign c) {
method getLocalCampaign (line 59) | public Campaign getLocalCampaign() {
method getHost (line 68) | public UUID getHost() {
method setHost (line 77) | public void setHost(UUID id) {
method isHost (line 87) | public boolean isHost() {
method advanceDay (line 94) | public void advanceDay() {
FILE: MekHQ/src/mekhq/campaign/CampaignEventProcessor.java
method CampaignEventProcessor (line 50) | public CampaignEventProcessor(Campaign campaign) {
method shutdown (line 61) | public void shutdown() {
method handlePersonUpdate (line 75) | @Subscribe
method handlePersonUnitAssignmentEvent (line 90) | @Subscribe
FILE: MekHQ/src/mekhq/campaign/CampaignFactory.java
class CampaignFactory (line 87) | public class CampaignFactory {
type CampaignProblemType (line 91) | public enum CampaignProblemType {
method CampaignFactory (line 114) | protected CampaignFactory() {
method newInstance (line 122) | public static CampaignFactory newInstance(MekHQ app) {
method createCampaign (line 139) | public @Nullable Campaign createCampaign(InputStream is)
method createPartialCampaignConfiguration (line 171) | public static @Nullable CampaignConfiguration createPartialCampaignCon...
method createCampaignConfiguration (line 248) | public static @Nullable CampaignConfiguration createCampaignConfigurat...
method createCampaign (line 306) | public static @Nullable Campaign createCampaign() {
method checkForLoadProblems (line 343) | private static Campaign checkForLoadProblems(Campaign campaign) {
method triggerProblemDialog (line 370) | private static boolean triggerProblemDialog(Campaign campaign, Campaig...
method readHeader (line 375) | private byte[] readHeader(InputStream is) throws IOException {
FILE: MekHQ/src/mekhq/campaign/CampaignNewDayManager.java
class CampaignNewDayManager (line 202) | public class CampaignNewDayManager {
method CampaignNewDayManager (line 220) | public CampaignNewDayManager(Campaign campaign) {
method newDay (line 233) | public boolean newDay() {
method checkForBioweaponAttacksOrNewVaccines (line 509) | private void checkForBioweaponAttacksOrNewVaccines(String systemName, ...
method checkForDiseaseOutbreaks (line 526) | private void checkForDiseaseOutbreaks(String systemName, String system...
method checkForNewVaccines (line 545) | private void checkForNewVaccines(String systemId) {
method getAllScenariosWithAssignedStandardForces (line 565) | private Set<Integer> getAllScenariosWithAssignedStandardForces() {
method updateFacilities (line 594) | private void updateFacilities() {
method fetchCelebrationDialogs (line 605) | private void fetchCelebrationDialogs() {
method updateFieldKitchenCapacity (line 629) | private void updateFieldKitchenCapacity() {
method processNewDayPersonnel (line 688) | public void processNewDayPersonnel() {
method checkForBurnedContacts (line 914) | private void checkForBurnedContacts() {
method processNewDayATB (line 934) | private void processNewDayATB() {
method processReputationChanges (line 1073) | private void processReputationChanges() {
method processEducationNewDay (line 1110) | private void processEducationNewDay() {
method processNewDayUnits (line 1141) | public void processNewDayUnits() {
method processNewDayFormations (line 1297) | private void processNewDayFormations() {
method performPersonnelCleanUp (line 1318) | private void performPersonnelCleanUp() {
method performFactionStandingChecks (line 1355) | private void performFactionStandingChecks(boolean isFirstOfMonth, bool...
method processAnniversaries (line 1424) | private void processAnniversaries(Person person) {
method processWeeklyRelationshipEvents (line 1536) | private void processWeeklyRelationshipEvents(Person person) {
method processCompulsionsAndMadness (line 1567) | private void processCompulsionsAndMadness(Person person, PersonnelOpti...
method getTotalProstheticCount (line 1696) | private static int getTotalProstheticCount(Person person) {
method checkForDiscontinuationSyndrome (line 1723) | private void checkForDiscontinuationSyndrome(Person person, boolean is...
method processResupply (line 1751) | private void processResupply(AtBContract contract) {
method processMonthlyAutoAwards (line 1769) | private void processMonthlyAutoAwards(Person person) {
method processMonthlyVocationalXp (line 1820) | private boolean processMonthlyVocationalXp(Person person, int vocation...
method processNewDayATBScenarios (line 1855) | private void processNewDayATBScenarios() {
method payForRentedFacilities (line 2013) | private void payForRentedFacilities() {
method updateMASHTheatreCapacity (line 2044) | private void updateMASHTheatreCapacity() {
FILE: MekHQ/src/mekhq/campaign/CampaignSummary.java
class CampaignSummary (line 74) | public class CampaignSummary {
method CampaignSummary (line 112) | public CampaignSummary() {
method setCampaign (line 120) | public void setCampaign(Campaign campaign) {
method updateInformation (line 129) | public void updateInformation() {
method getPersonnelReport (line 276) | public String getPersonnelReport() {
method getForceRepairReport (line 285) | public String getForceRepairReport() {
method getForceCompositionReport (line 301) | public String getForceCompositionReport() {
method getMissionSuccessReport (line 323) | public String getMissionSuccessReport() {
method getCargoCapacityReport (line 338) | public StringBuilder getCargoCapacityReport() {
method getTransportCapacity (line 369) | public String getTransportCapacity() {
method getAdministrativeCapacityReport (line 390) | @Deprecated(since = "0.50.07", forRemoval = true)
method getHRCapacityReport (line 402) | public String getHRCapacityReport(Campaign campaign) {
method getFacilityReport (line 432) | public String getFacilityReport() {
FILE: MekHQ/src/mekhq/campaign/CampaignTransporterMap.java
class CampaignTransporterMap (line 54) | public class CampaignTransporterMap {
method CampaignTransporterMap (line 60) | public CampaignTransporterMap(Campaign campaign, CampaignTransportType...
method addTransporter (line 70) | public void addTransporter(Unit transport) {
method addTransporterToCapacityMap (line 77) | private void addTransporterToCapacityMap(Unit transport, TransporterTy...
method updateTransportInTransporterMap (line 92) | public void updateTransportInTransporterMap(Unit transport) {
method hasTransporters (line 136) | public boolean hasTransporters() {
method hasTransport (line 147) | @Deprecated(since = "0.51.0", forRemoval = true)
method getTransporters (line 164) | public Map<TransporterType, Map<Double, Set<UUID>>> getTransporters() {
method getTransportsByType (line 177) | public Set<Unit> getTransportsByType(TransporterType transporterType, ...
method removeTransport (line 196) | public void removeTransport(Unit transport) {
method removeTransportFromCapacityMap (line 212) | private void removeTransportFromCapacityMap(Unit transport, Transporte...
FILE: MekHQ/src/mekhq/campaign/CurrentLocation.java
class CurrentLocation (line 89) | public class CurrentLocation {
method CurrentLocation (line 103) | public CurrentLocation() {
method CurrentLocation (line 107) | public CurrentLocation(PlanetarySystem system, double time) {
method setTransitTime (line 114) | public void setTransitTime(double time) {
method isOnPlanet (line 118) | public boolean isOnPlanet() {
method isAtJumpPoint (line 122) | public boolean isAtJumpPoint() {
method getPercentageTransit (line 126) | public double getPercentageTransit() {
method isInTransit (line 130) | public boolean isInTransit() {
method getCurrentSystem (line 134) | public PlanetarySystem getCurrentSystem() {
method getPlanet (line 142) | public Planet getPlanet() {
method getTransitTime (line 146) | public double getTransitTime() {
method isJumpZenith (line 153) | public boolean isJumpZenith() {
method pickJumpPoint (line 165) | private boolean pickJumpPoint(LocalDate now) {
method getReport (line 194) | public String getReport(LocalDate date, boolean isUseCommandCircuit,
method getJumpPath (line 262) | public JumpPath getJumpPath() {
method setJumpPath (line 266) | public void setJumpPath(JumpPath path) {
method isRecharging (line 277) | public boolean isRecharging(Campaign campaign) {
method setRecharged (line 290) | public void setRecharged(Campaign campaign) {
method newDay (line 301) | public void newDay(Campaign campaign) {
method checkForDiseaseOrBioweaponOutbreaks (line 407) | private void checkForDiseaseOrBioweaponOutbreaks(Campaign campaign, Lo...
method checkForTransitDisorientationSyndrome (line 485) | private static void checkForTransitDisorientationSyndrome(Campaign cam...
method createTransitDisorientationInjury (line 526) | private static Injury createTransitDisorientationInjury(Campaign campa...
method testForEarlyArrival (line 548) | private void testForEarlyArrival(Campaign campaign) {
method writeToXML (line 576) | public void writeToXML(final PrintWriter pw, int indent) {
method generateInstanceFromXML (line 588) | public static CurrentLocation generateInstanceFromXML(Node wn, Campaig...
FILE: MekHQ/src/mekhq/campaign/ExtraData.java
class ExtraData (line 93) | @XmlRootElement(name = "extraData")
method adapt (line 121) | @Override
method adapt (line 127) | @Override
method adapt (line 138) | @Override
method adapt (line 149) | @Override
method getOrCreateClassMap (line 165) | private Map<String, Object> getOrCreateClassMap(Class<?> cls) {
method set (line 174) | public <T> T set(Key<T> key, T value) {
method setString (line 187) | @Deprecated(since = "0.51.0", forRemoval = true)
method get (line 203) | public <T> T get(Key<T> key) {
method get (line 213) | public <T> T get(Key<T> key, T defaultValue) {
method isEmpty (line 221) | public boolean isEmpty() {
method writeToXml (line 232) | public void writeToXml(Writer writer) {
method writeToXml (line 240) | public void writeToXml(OutputStream os) {
method createFromXml (line 248) | public static ExtraData createFromXml(Node wn) {
method getOrCreateClassMap (line 257) | private static Map<String, Object> getOrCreateClassMap(Map<Class<?>, M...
method registerAdapter (line 266) | @Deprecated(since = "0.51.0", forRemoval = true)
method adapt (line 273) | private static <T> T adapt(Class<T> cls, String val) {
method toString (line 284) | private static <T> String toString(T val) {
class StringAdapter (line 296) | public static abstract class StringAdapter<T> {
method adapt (line 297) | public abstract T adapt(String str);
method toString (line 299) | public String toString(T val) {
class JAXBValueAdapter (line 304) | private static class JAXBValueAdapter
method unmarshal (line 306) | @Override
method marshal (line 334) | @Override
class XmlValueListArray (line 368) | private static class XmlValueListArray {
class XmlValueList (line 372) | private static class XmlValueList {
class XmlValueEntry (line 379) | private static class XmlValueEntry {
class Key (line 388) | public static abstract class Key<T> {
method Key (line 392) | protected Key(String name, Class<T> type) {
method getName (line 397) | public String getName() {
method getType (line 401) | public Class<T> getType() {
method fromString (line 405) | public T fromString(String str) {
method toString (line 409) | public String toString(T val) {
method hashCode (line 413) | @Override
method equals (line 418) | @Override
class StringKey (line 432) | public static class StringKey extends Key<String> {
method StringKey (line 433) | public StringKey(String name) {
class IntKey (line 439) | public static class IntKey extends Key<Integer> {
method IntKey (line 440) | public IntKey(String name) {
class DoubleKey (line 446) | @Deprecated(since = "0.51.0", forRemoval = true)
method DoubleKey (line 448) | public DoubleKey(String name) {
class BooleanKey (line 454) | @Deprecated(since = "0.51.0", forRemoval = true)
method BooleanKey (line 456) | public BooleanKey(String name) {
FILE: MekHQ/src/mekhq/campaign/GameEffect.java
method GameEffect (line 53) | public GameEffect(String desc) {
method GameEffect (line 57) | public GameEffect(String desc, Consumer<IntUnaryOperator> action) {
method apply (line 65) | public void apply() {
method toString (line 69) | @Override
FILE: MekHQ/src/mekhq/campaign/Hangar.java
class Hangar (line 54) | public class Hangar {
method addUnit (line 64) | public void addUnit(final @Nullable Unit unit) {
method getUnit (line 83) | public @Nullable Unit getUnit(UUID id) {
method getUnits (line 92) | public Collection<Unit> getUnits() {
method getUnitsStream (line 101) | public Stream<Unit> getUnitsStream() {
method getUnitCosts (line 112) | public Money getUnitCosts(Function<Unit, Money> getCosts) {
method getUnitCosts (line 124) | public Money getUnitCosts(Predicate<Unit> predicate, Function<Unit, Mo...
method forEachUnit (line 133) | public void forEachUnit(Consumer<Unit> consumer) {
method forEachUnit (line 142) | public void forEachUnit(BiConsumer<UUID, Unit> consumer) {
method findUnit (line 153) | public @Nullable Unit findUnit(final @Nullable Predicate<Unit> predica...
method removeUnit (line 173) | public boolean removeUnit(UUID id) {
method writeToXML (line 177) | public void writeToXML(final PrintWriter pw, final int indent, final S...
FILE: MekHQ/src/mekhq/campaign/JumpPath.java
class JumpPath (line 54) | public class JumpPath {
method JumpPath (line 59) | public JumpPath() {
method JumpPath (line 63) | public JumpPath(ArrayList<PlanetarySystem> p) {
method getSystems (line 67) | public List<PlanetarySystem> getSystems() {
method isEmpty (line 71) | public boolean isEmpty() {
method getFirstSystem (line 75) | public PlanetarySystem getFirstSystem() {
method getLastSystem (line 83) | public PlanetarySystem getLastSystem() {
method getStartTime (line 91) | public double getStartTime(double currentTransit) {
method getEndTime (line 99) | public double getEndTime() {
method getTotalRechargeTime (line 110) | @Deprecated(since = "0.51.0", forRemoval = true)
method getTotalRechargeTime (line 127) | public double getTotalRechargeTime(LocalDate when, boolean isUseComman...
method getJumps (line 141) | public int getJumps() {
method getTotalTime (line 150) | @Deprecated(since = "0.50.07")
method getTotalTime (line 173) | public double getTotalTime(LocalDate when, double currentTransit, bool...
method addSystem (line 177) | public void addSystem(PlanetarySystem s) {
method addSystems (line 181) | public void addSystems(List<PlanetarySystem> systems) {
method removeFirstSystem (line 185) | public void removeFirstSystem() {
method size (line 191) | public int size() {
method get (line 195) | public PlanetarySystem get(int i) {
method contains (line 203) | public boolean contains(PlanetarySystem system) {
method writeToXML (line 207) | public void writeToXML(final PrintWriter pw, int indent) {
method generateInstanceFromXML (line 215) | public static JumpPath generateInstanceFromXML(Node wn, Campaign c) {
FILE: MekHQ/src/mekhq/campaign/Kill.java
class Kill (line 51) | public class Kill {
method Kill (line 63) | public Kill() {
method Kill (line 66) | public Kill(UUID id, String kill, String killer, LocalDate d, int miss...
method getPilotId (line 78) | public UUID getPilotId() {
method setPilotId (line 82) | public void setPilotId(UUID id) {
method getDate (line 86) | public LocalDate getDate() {
method setDate (line 90) | public void setDate(LocalDate d) {
method getWhatKilled (line 94) | public String getWhatKilled() {
method setWhatKilled (line 98) | public void setWhatKilled(String s) {
method getKilledByWhat (line 102) | public String getKilledByWhat() {
method setKilledByWhat (line 106) | public void setKilledByWhat(String s) {
method getMissionId (line 110) | public int getMissionId() {
method setMissionId (line 114) | public void setMissionId(int id) {
method getScenarioId (line 118) | public int getScenarioId() {
method setScenarioId (line 122) | public void setScenarioId(int id) {
method getForceId (line 126) | public int getForceId() {
method setForceId (line 130) | public void setForceId(final int id) {
method getAwardIdentifier (line 142) | public String getAwardIdentifier() {
method getUnitType (line 150) | public long getUnitType() {
method setUnitType (line 154) | public void setUnitType(final long type) {
method generateInstanceFromXML (line 158) | public static Kill generateInstanceFromXML(Node wn, Version version) {
method writeToXML (line 193) | public void writeToXML(final PrintWriter pw, int indent) {
method clone (line 206) | @Override
FILE: MekHQ/src/mekhq/campaign/OptimizeInfirmaryAssignments.java
class OptimizeInfirmaryAssignments (line 66) | public class OptimizeInfirmaryAssignments {
method OptimizeInfirmaryAssignments (line 81) | public OptimizeInfirmaryAssignments(Campaign campaign) {
method assignDoctors (line 127) | private void assignDoctors(final boolean isDoctorsUseAdministration, f...
method organizeDoctors (line 179) | private void organizeDoctors() {
method organizePatients (line 192) | private void organizePatients() {
method getSeverity (line 208) | private int getSeverity(Person patient) {
method getDoctorExperienceLevel (line 235) | private int getDoctorExperienceLevel(Person doctor) {
FILE: MekHQ/src/mekhq/campaign/Quartermaster.java
type PartAcquisitionResult (line 67) | public enum PartAcquisitionResult {
method Quartermaster (line 78) | public Quartermaster(Campaign campaign) {
method campaign (line 85) | @Override
method getCampaignOptions (line 93) | private CampaignOptions getCampaignOptions() {
method getWarehouse (line 100) | private Warehouse getWarehouse() {
method addPart (line 118) | @Deprecated
method addPart (line 139) | public void addPart(Part part, int transitDays, boolean isBrandNew) {
method addAmmo (line 180) | public void addAmmo(AmmoType ammoType, int shots) {
method addAmmo (line 195) | public void addAmmo(AmmoType ammoType, InfantryWeapon infantryWeapon, in...
method removeAmmo (line 213) | public int removeAmmo(AmmoType ammoType, int shotsNeeded) {
method removeAmmo (line 243) | private int removeAmmo(@Nullable AmmoStorage ammoStorage, int shotsNeede...
method removeCompatibleAmmo (line 280) | public int removeCompatibleAmmo(AmmoType ammoType, int shotsNeeded) {
method findSpareAmmo (line 330) | private @Nullable AmmoStorage findSpareAmmo(AmmoType ammoType) {
method findCompatibleSpareAmmo (line 343) | private List<AmmoStorage> findCompatibleSpareAmmo(AmmoType ammoType) {
method convertShots (line 376) | public static int convertShots(AmmoType from, int shots, AmmoType to) {
method convertShotsNeeded (line 402) | public static int convertShotsNeeded(AmmoType target, int shotsNeeded, A...
method getAmmoAvailable (line 426) | public int getAmmoAvailable(AmmoType ammoType) {
method isAvailableAsSpareAmmo (line 470) | private static boolean isAvailableAsSpareAmmo(@Nullable Part part) {
method getAmmoAvailable (line 483) | public int getAmmoAvailable(AmmoType ammoType, InfantryWeapon weaponType) {
method findSpareAmmo (line 498) | private @Nullable InfantryAmmoStorage findSpareAmmo(AmmoType ammoType, I...
method removeAmmo (line 517) | public int removeAmmo(AmmoType ammoType, InfantryWeapon infantryWeapon, ...
method arrivePart (line 535) | public void arrivePart(Part part) {
method buyUnit (line 557) | public boolean buyUnit(Entity en, int days) {
method buyUnit (line 570) | public boolean buyUnit(Entity en, int days, double valueMultiplier) {
method sellUnit (line 601) | public void sellUnit(Unit unit) {
method sellPart (line 617) | public void sellPart(Part part) {
method sellPart (line 637) | public void sellPart(Part part, int quantity) {
method sellAmmo (line 671) | public void sellAmmo(AmmoStorage ammo) {
method sellAmmo (line 683) | public void sellAmmo(AmmoStorage ammo, int shots) {
method sellArmor (line 712) | public void sellArmor(Armor armor) {
method sellArmor (line 724) | public void sellArmor(Armor armor, int points) {
method remotePartFromPod (line 753) | public void remotePartFromPod(Part part) {
method remotePartFromPod (line 765) | public void remotePartFromPod(Part part, int quantity) {
method buyRefurbishment (line 811) | public boolean buyRefurbishment(Part part) {
method buyPart (line 829) | public boolean buyPart(Part part, int transitDays) {
method buyPart (line 842) | public boolean buyPart(Part part, double costMultiplier, int transitDays) {
FILE: MekHQ/src/mekhq/campaign/RandomOriginOptions.java
class RandomOriginOptions (line 48) | public class RandomOriginOptions {
method RandomOriginOptions (line 63) | public RandomOriginOptions(final boolean campaignOptions) {
method isRandomizeOrigin (line 86) | public boolean isRandomizeOrigin() {
method setRandomizeOrigin (line 95) | public void setRandomizeOrigin(final boolean randomizeOrigin) {
method isRandomizeDependentOrigin (line 102) | public boolean isRandomizeDependentOrigin() {
method setRandomizeDependentOrigin (line 111) | public void setRandomizeDependentOrigin(final boolean randomizeDepende...
method isRandomizeAroundSpecifiedPlanet (line 118) | public boolean isRandomizeAroundSpecifiedPlanet() {
method setRandomizeAroundSpecifiedPlanet (line 126) | public void setRandomizeAroundSpecifiedPlanet(final boolean randomizeA...
method getSpecifiedPlanet (line 133) | public Planet getSpecifiedPlanet() {
method setSpecifiedPlanet (line 140) | public void setSpecifiedPlanet(final Planet specifiedPlanet) {
method getOriginSearchRadius (line 147) | public int getOriginSearchRadius() {
method setOriginSearchRadius (line 156) | public void setOriginSearchRadius(final int originSearchRadius) {
method getOriginDistanceScale (line 163) | public double getOriginDistanceScale() {
method setOriginDistanceScale (line 172) | public void setOriginDistanceScale(final double originDistanceScale) {
method isAllowClanOrigins (line 179) | public boolean isAllowClanOrigins() {
method setAllowClanOrigins (line 183) | public void setAllowClanOrigins(final boolean allowClanOrigins) {
method isExtraRandomOrigin (line 190) | public boolean isExtraRandomOrigin() {
method setExtraRandomOrigin (line 197) | public void setExtraRandomOrigin(final boolean extraRandomOrigin) {
method determinePlanet (line 202) | public Planet determinePlanet(final Planet planet) {
method writeToXML (line 207) | public void writeToXML(final PrintWriter pw, int indent) {
method parseFromXML (line 235) | public static @Nullable RandomOriginOptions parseFromXML(final NodeLis...
FILE: MekHQ/src/mekhq/campaign/ResolveScenarioTracker.java
class ResolveScenarioTracker (line 107) | public class ResolveScenarioTracker {
method ResolveScenarioTracker (line 149) | public ResolveScenarioTracker(Scenario s, Campaign c, boolean ctrl) {
method getCapturePrisoners (line 205) | public CapturePrisoners getCapturePrisoners() {
method isAutoResolve (line 209) | public boolean isAutoResolve() {
method findUnitFile (line 213) | public void findUnitFile() {
method getUnitFilePath (line 217) | public String getUnitFilePath() {
method setClient (line 221) | public void setClient(IClient c) {
method processMulFiles (line 225) | public void processMulFiles() {
method recoverUnfoundDeployedUnits (line 248) | private void recoverUnfoundDeployedUnits() {
method generateNewTestUnit (line 266) | private TestUnit generateNewTestUnit(Entity e) {
method processGame (line 284) | public void processGame() {
method sanitizeAllEntityExternalIds (line 551) | private void sanitizeAllEntityExternalIds() {
method sanitizeEntityEnumeration (line 568) | private void sanitizeEntityEnumeration(Enumeration<Entity> entities) {
method appendKillCredit (line 583) | private void appendKillCredit(Entity e) {
method processAlliedUnit (line 598) | private UnitStatus processAlliedUnit(Entity e) {
method checkForLostLimbs (line 614) | private void checkForLostLimbs(Entity en, boolean controlsField) {
method shuffleCrew (line 645) | private List<Person> shuffleCrew(List<Person> source) {
method assignKills (line 658) | public void assignKills() {
method checkStatusOfPersonnel (line 690) | public void checkStatusOfPersonnel() {
type CasualtyAssignment (line 886) | private enum CasualtyAssignment {
method assignTempCrewCasualty (line 906) | private CasualtyAssignment assignTempCrewCasualty(Unit unit, PersonSta...
method processLargeCraft (line 961) | private void processLargeCraft(Unit ship, Entity en, List<Person> pers...
method processPrisonerCapture (line 1148) | private void processPrisonerCapture(List<TestUnit> unitsToProcess) {
method loadUnitsAndPilots (line 1365) | private void loadUnitsAndPilots(final @Nullable File unitFile) {
method initUnitsAndPilotsWithoutBattle (line 1583) | private void initUnitsAndPilotsWithoutBattle() {
method getAlliedUnits (line 1614) | @Deprecated(since = "0.51.0", forRemoval = true)
method getPotentialSalvage (line 1619) | public List<TestUnit> getPotentialSalvage() {
method getDropShipBonus (line 1623) | public Money getDropShipBonus() {
method getActualSalvage (line 1627) | public List<TestUnit> getActualSalvage() {
method getSoldSalvage (line 1631) | public List<TestUnit> getSoldSalvage() {
method getLeftoverSalvage (line 1635) | public List<TestUnit> getLeftoverSalvage() {
method salvageUnit (line 1639) | public void salvageUnit(int i) {
method sellUnit (line 1646) | public void sellUnit(int i) {
method doNotSalvageUnit (line 1653) | public void doNotSalvageUnit(int i) {
method setContractBreaches (line 1659) | @Deprecated(since = "0.51.0", forRemoval = true)
method setBonusRolls (line 1664) | @Deprecated(since = "0.51.0", forRemoval = true)
method getCampaign (line 1669) | public Campaign getCampaign() {
method getScenario (line 1673) | public Scenario getScenario() {
method getMission (line 1677) | public Mission getMission() {
method getMissionId (line 1681) | public int getMissionId() {
method processTempCrewDeathPayouts (line 1689) | private void processTempCrewDeathPayouts() {
method calculateTempCrewPayout (line 1735) | private Money calculateTempCrewPayout(Money baseSalary, boolean isOffi...
method getScenarioId (line 1746) | public int getScenarioId() {
method getKillCredits (line 1750) | public Hashtable<String, String> getKillCredits() {
method getUnits (line 1754) | public List<Unit> getUnits() {
method resolveScenario (line 1758) | public void resolveScenario(ScenarioStatus resolution, String report) {
method getMissingPersonnel (line 2005) | @Deprecated(since = "0.51.0", forRemoval = true)
method getDeadPersonnel (line 2020) | @Deprecated(since = "0.51.0", forRemoval = true)
method getRecoveredPersonnel (line 2035) | @Deprecated(since = "0.51.0", forRemoval = true)
method getPeopleStatus (line 2050) | public Hashtable<UUID, PersonStatus> getPeopleStatus() {
method getOppositionPersonnel (line 2054) | public Hashtable<UUID, OppositionPersonnelStatus> getOppositionPersonn...
method getUnitsStatus (line 2058) | public Hashtable<UUID, UnitStatus> getUnitsStatus() {
method getSalvageStatus (line 2062) | public Hashtable<UUID, UnitStatus> getSalvageStatus() {
method getAllInvolvedUnits (line 2066) | public Map<UUID, Entity> getAllInvolvedUnits() {
method getPotentialLoot (line 2070) | public List<Loot> getPotentialLoot() {
method addLoot (line 2074) | public void addLoot(Loot loot) {
method getSortedPeople (line 2078) | public ArrayList<PersonStatus> getSortedPeople() {
method getSortedPrisoners (line 2092) | public ArrayList<OppositionPersonnelStatus> getSortedPrisoners() {
method usesSalvageExchange (line 2117) | public boolean usesSalvageExchange() {
method isEmployerEvokingSpecialClause (line 2127) | public boolean isEmployerEvokingSpecialClause() {
class PersonStatus (line 2145) | public static class PersonStatus implements Comparable<PersonStatus> {
method PersonStatus (line 2158) | public PersonStatus(String n, String u, int h, UUID id) {
method getId (line 2172) | public UUID getId() {
method setRemove (line 2176) | public void setRemove(UUID set) {
method toRemove (line 2180) | public boolean toRemove() {
method setRemove (line 2184) | public void setRemove(boolean set) {
method getName (line 2188) | public String getName() {
method getUnitName (line 2192) | public String getUnitName() {
method getHits (line 2196) | public int getHits() {
method setHits (line 2200) | public void setHits(int h) {
method isDead (line 2205) | public boolean isDead() {
method setDead (line 2209) | public void setDead(boolean dead) {
method isMissing (line 2213) | public boolean isMissing() {
method setMissing (line 2217) | public void setMissing(boolean b) {
method wasPickedUp (line 2221) | public boolean wasPickedUp() {
method setPickedUp (line 2225) | public void setPickedUp(boolean set) {
method getXP (line 2229) | public int getXP() {
method setXP (line 2236) | public void setXP(int x) {
method addKill (line 2240) | public void addKill(Kill k) {
method getKills (line 2244) | public ArrayList<Kill> getKills() {
method setDeployed (line 2248) | public void setDeployed(boolean b) {
method wasDeployed (line 2252) | public boolean wasDeployed() {
method toString (line 2256) | @Override
method compareTo (line 2261) | @Override
class OppositionPersonnelStatus (line 2274) | public static class OppositionPersonnelStatus extends PersonStatus {
method OppositionPersonnelStatus (line 2279) | public OppositionPersonnelStatus(String n, String u, Person p) {
method getPerson (line 2284) | public Person getPerson() {
method isCaptured (line 2288) | public boolean isCaptured() {
method setCaptured (line 2292) | public void setCaptured(boolean set) {
class UnitStatus (line 2302) | public static class UnitStatus {
method UnitStatus (line 2311) | public UnitStatus(Unit unit) {
method toString (line 2332) | @Override
method getName (line 2337) | public String getName() {
method getLookupName (line 2341) | public String getLookupName() {
method getEntity (line 2347) | public Entity getEntity() {
method assignFoundEntity (line 2351) | public void assignFoundEntity(Entity e, boolean loss) {
method getBaseEntity (line 2356) | public Entity getBaseEntity() {
method setBaseEntity (line 2360) | @Deprecated(since = "0.51.0", forRemoval = true)
method getUnit (line 2365) | public Unit getUnit() {
method isTotalLoss (line 2369) | public boolean isTotalLoss() {
method setTotalLoss (line 2373) | public void setTotalLoss(boolean b) {
method getDesc (line 2377) | public String getDesc() {
method getDesc (line 2381) | public String getDesc(boolean printSellValue) {
method isLikelyCaptured (line 2418) | public boolean isLikelyCaptured() {
method setEvent (line 2426) | public void setEvent(PostGameResolution gve) {
method playerHasBattlefieldControl (line 2430) | public boolean playerHasBattlefieldControl() {
FILE: MekHQ/src/mekhq/campaign/Warehouse.java
class Warehouse (line 60) | public class Warehouse {
method addPart (line 72) | public Part addPart(Part part) {
method addPart (line 84) | public Part addPart(Part part, boolean mergeWithExisting) {
method getParts (line 132) | public Collection<Part> getParts() {
method getPart (line 143) | public @Nullable Part getPart(int id) {
method forEachPart (line 152) | public void forEachPart(Consumer<Part> consumer) {
method removePart (line 165) | public boolean removePart(Part part) {
method removePart (line 198) | public boolean removePart(Part part, int quantity) {
method mergePartWithExisting (line 250) | private Part mergePartWithExisting(Part part) {
method checkForExistingSparePart (line 284) | public @Nullable Part checkForExistingSparePart(Part part) {
method checkForExistingSparePart (line 316) | public @Nullable Part checkForExistingSparePart(Part part, boolean inc...
method getSpareParts (line 337) | public List<Part> getSpareParts() {
method getSparePartsCount (line 343) | public int getSparePartsCount(Part targetPart) {
method getPartQuantity (line 368) | @Deprecated(since = "0.50.10", forRemoval = true)
method forEachSparePart (line 388) | public void forEachSparePart(Consumer<Part> consumer) {
method findSparePart (line 403) | public @Nullable Part findSparePart(Predicate<Part> predicate) {
method streamSpareParts (line 417) | public Stream<Part> streamSpareParts() {
method addAmmo (line 427) | public void addAmmo(AmmoStorage ammo, int shots) {
method removeAmmo (line 440) | public boolean removeAmmo(AmmoStorage ammo, int shots) {
method removeArmor (line 453) | public boolean removeArmor(Armor armor, int points) {
method writeToXML (line 466) | public void writeToXML(final PrintWriter pw, final int indent, final S...
FILE: MekHQ/src/mekhq/campaign/againstTheBot/AtBConfiguration.java
class AtBConfiguration (line 80) | public class AtBConfiguration {
method AtBConfiguration (line 112) | private AtBConfiguration() {
method getDefaultForceTable (line 121) | private WeightedTable<String> getDefaultForceTable(String key, int ind...
method parseDefaultWeightedTable (line 138) | private WeightedTable<String> parseDefaultWeightedTable(String entry) {
method parseDefaultWeightedTable (line 142) | private <T> WeightedTable<T> parseDefaultWeightedTable(String entry, F...
method setAllValuesToDefaults (line 159) | private void setAllValuesToDefaults() {
method weightClassIndex (line 209) | public int weightClassIndex(int entityWeightClass) {
method weightClassIndex (line 213) | public int weightClassIndex(String wc) {
method selectBotLances (line 223) | public @Nullable String selectBotLances(String org, int weightClass) {
method selectBotLances (line 236) | public @Nullable String selectBotLances(String org, int weightClass, f...
method selectBotUnitWeights (line 272) | public @Nullable String selectBotUnitWeights(String org, int weightCla...
method decodeWeightStr (line 292) | public static int decodeWeightStr(String s, int i) {
method getParentFactionType (line 304) | public static String getParentFactionType(final Faction faction) {
method getShipSearchCost (line 314) | public Money getShipSearchCost() {
method getShipSearchLengthWeeks (line 318) | public int getShipSearchLengthWeeks() {
method shipSearchCostPerWeek (line 322) | public Money shipSearchCostPerWeek() {
method shipSearchTargetBase (line 330) | public @Nullable Integer shipSearchTargetBase(int unitType) {
method shipSearchTargetRoll (line 352) | public TargetRoll shipSearchTargetRoll(int unitType, Campaign campaign) {
method findShip (line 373) | public @Nullable MekSummary findShip(int unitType) {
method loadFromXml (line 392) | public static AtBConfiguration loadFromXml() {
method loadScenarioGenerationNodeFromXml (line 431) | private void loadScenarioGenerationNodeFromXml(Node node) {
method loadForceTableFromXml (line 466) | private List<WeightedTable<String>> loadForceTableFromXml(Node node) {
method loadShipSearchNodeFromXml (line 487) | private void loadShipSearchNodeFromXml(Node node) {
method loadWeightedTableFromXml (line 530) | private WeightedTable<String> loadWeightedTableFromXml(Node node) {
method loadWeightedTableFromXml (line 534) | private <T> WeightedTable<T> loadWeightedTableFromXml(Node node, Funct...
FILE: MekHQ/src/mekhq/campaign/againstTheBot/AtBStaticWeightGenerator.java
class AtBStaticWeightGenerator (line 41) | public class AtBStaticWeightGenerator {
method getRandomWeight (line 49) | public static int getRandomWeight(final Campaign campaign, final int u...
method getRandomWeight (line 61) | private static int getRandomWeight(final int unitType, final Faction f...
method getRandomMekWeight (line 79) | private static int getRandomMekWeight() {
method getRegionalMekWeight (line 97) | private static int getRegionalMekWeight(final Faction faction) {
method getRandomAerospaceWeight (line 146) | private static int getRandomAerospaceWeight() {
method getRandomDropShipWeight (line 157) | private static int getRandomDropShipWeight() {
FILE: MekHQ/src/mekhq/campaign/againstTheBot/DatedRecord.java
class DatedRecord (line 44) | @Deprecated(since = "0.51.0", forRemoval = true)
method DatedRecord (line 50) | public DatedRecord(LocalDate start, LocalDate end, E value) {
method setStart (line 56) | public void setStart(LocalDate start) {
method getStart (line 60) | public LocalDate getStart() {
method setEnd (line 64) | public void setEnd(LocalDate end) {
method getEnd (line 68) | public LocalDate getEnd() {
method setValue (line 72) | public void setValue(E v) {
method getValue (line 76) | public E getValue() {
method fitsDate (line 85) | @Deprecated(since = "0.51.0", forRemoval = true)
FILE: MekHQ/src/mekhq/campaign/againstTheBot/WeightedTable.java
class WeightedTable (line 42) | class WeightedTable<T> {
method add (line 46) | public void add(Integer weight, T value) {
method select (line 51) | public @Nullable T select() {
method select (line 61) | public @Nullable T select(float rollMod) {
FILE: MekHQ/src/mekhq/campaign/autoResolve/AutoResolveMethod.java
type AutoResolveMethod (line 42) | public enum AutoResolveMethod {
method AutoResolveMethod (line 49) | AutoResolveMethod(final String name, final String toolTipText) {
method getToolTipText (line 54) | public String getToolTipText() {
method getName (line 58) | public String getName() {
method fromIntSafe (line 62) | @Deprecated(since = "0.51.0", forRemoval = true)
method fromStringSafe (line 70) | @Deprecated(since = "0.51.0", forRemoval = true)
method toString (line 79) | @Override
FILE: MekHQ/src/mekhq/campaign/autoResolve/MekHQSetupForces.java
class MekHQSetupForces (line 47) | public class MekHQSetupForces extends ScenarioSetupForces<Scenario> {
method MekHQSetupForces (line 48) | public MekHQSetupForces(Campaign campaign, List<Unit> units, Scenario ...
method MekHQSetupForces (line 53) | @Deprecated(since = "0.51.0", forRemoval = true)
FILE: MekHQ/src/mekhq/campaign/autoResolve/OrderFactory.java
class OrderFactory (line 52) | public class OrderFactory {
method OrderFactory (line 59) | public OrderFactory(Campaign campaign, Scenario scenario) {
method getOrders (line 64) | public Orders getOrders() {
method addOrder (line 73) | private void addOrder(Order order) {
method createOrderFromObjective (line 78) | private void createOrderFromObjective(int ownerId, ScenarioObjective o...
method createForceWithdrawOrder (line 105) | private void createForceWithdrawOrder(int ownerId, ScenarioObjective o...
method createReachMapEdgeOrder (line 114) | private void createReachMapEdgeOrder(int ownerId, ScenarioObjective ob...
method createPreventReachMapEdgeOrder (line 131) | private void createPreventReachMapEdgeOrder(int ownerId, ScenarioObjec...
method createPreserveOrder (line 140) | private void createPreserveOrder(int ownerId, ScenarioObjective object...
method createOrderForPreserveAssociatedForces (line 151) | private Order createOrderForPreserveAssociatedForces(int ownerId, Scen...
method createOrderForPreserveAssociatedUnits (line 205) | private Order createOrderForPreserveAssociatedUnits(int ownerId, Scena...
method createDestroyOrder (line 239) | private void createDestroyOrder(int ownerId, ScenarioObjective objecti...
FILE: MekHQ/src/mekhq/campaign/autoResolve/ScenarioSetupForces.java
class ScenarioSetupForces (line 77) | public class ScenarioSetupForces<SCENARIO extends Scenario> extends Setu...
method ScenarioSetupForces (line 88) | @Deprecated(since = "0.51.0", forRemoval = true)
method ScenarioSetupForces (line 94) | public ScenarioSetupForces(Campaign campaign, List<Unit> units, SCENAR...
method getScenario (line 105) | public SCENARIO getScenario() {
method setupTeamIds (line 109) | private void setupTeamIds() {
method createForcesOnSimulation (line 124) | public void createForcesOnSimulation(SimulationContext game) {
method addOrdersToForces (line 131) | @Override
method isTeamPresent (line 139) | @Override
class FailedToConvertForceToFormationException (line 144) | private static class FailedToConvertForceToFormationException extends ...
method FailedToConvertForceToFormationException (line 145) | public FailedToConvertForceToFormationException(Throwable cause) {
method convertForcesIntoFormations (line 157) | private void convertForcesIntoFormations(SimulationContext game) {
method setupPlayer (line 180) | private void setupPlayer(SimulationContext game) {
method getEnemySkillLevel (line 189) | protected SkillLevel getEnemySkillLevel() {
method getAlliedSkillLevel (line 193) | protected SkillLevel getAlliedSkillLevel() {
method setupBots (line 202) | private void setupBots(SimulationContext game) {
method getCleanPlayer (line 241) | protected Player getCleanPlayer() {
method setupPlayerForces (line 271) | private List<Entity> setupPlayerForces(Player player) {
method getUnitEntitySource (line 279) | protected EntitySource getUnitEntitySource() {
method getAllyEntitySource (line 283) | protected EntitySource getAllyEntitySource() {
method getCopyOfEntities (line 287) | private List<Entity> getCopyOfEntities(Player player, boolean useDrops...
type EntitySource (line 299) | protected interface EntitySource {
method getSources (line 300) | Iterable<?> getSources();
method setupEntity (line 302) | Entity setupEntity(Player player, Object source, boolean useDropship);
class UnitEntitySource (line 305) | protected class UnitEntitySource implements EntitySource {
method getSources (line 306) | @Override
method setupEntity (line 311) | @Override
class AllyEntitySource (line 317) | private class AllyEntitySource implements EntitySource {
method getSources (line 318) | @Override
method setupEntity (line 324) | @Override
method moveByCopy (line 337) | protected Entity moveByCopy(Entity entity) {
method setupPlayerAllyEntity (line 360) | private Entity setupPlayerAllyEntity(Player player, Entity originalAll...
method setupPlayerEntityFromUnit (line 389) | private Entity setupPlayerEntityFromUnit(Player player, Unit unit, boo...
method isUsingDropship (line 421) | private boolean isUsingDropship() {
method getNextColor (line 430) | public PlayerColour getNextColor(PlayerColour playerColour) {
method configureBot (line 442) | private void configureBot(Player bot, BotForce botForce, PlayerColour ...
method setupBotEntities (line 470) | private List<Entity> setupBotEntities(Player bot, List<Entity> origina...
method sendEntities (line 500) | private void sendEntities(List<Entity> entities, SimulationContext gam...
method lastTouchesBeforeSendingEntity (line 561) | private static void lastTouchesBeforeSendingEntity(SimulationContext g...
FILE: MekHQ/src/mekhq/campaign/autoResolve/StratConSetupForces.java
class StratConSetupForces (line 56) | public class StratConSetupForces extends ScenarioSetupForces<AtBScenario> {
method StratConSetupForces (line 59) | public StratConSetupForces(Campaign campaign, List<Unit> units, AtBSce...
method StratConSetupForces (line 64) | public StratConSetupForces(Campaign campaign, List<Unit> units, AtBSce...
method getEnemySkillLevel (line 69) | @Override
method getAlliedSkillLevel (line 74) | @Override
method getCleanPlayer (line 84) | @Override
method getUnitEntitySource (line 94) | @Override
method getAllyEntitySource (line 99) | @Override
class UnitEntitySource (line 104) | private class UnitEntitySource implements EntitySource {
method getSources (line 105) | @Override
method setupEntity (line 110) | @Override
class AllyEntitySource (line 116) | private class AllyEntitySource implements EntitySource {
method getSources (line 117) | @Override
method setupEntity (line 122) | @Override
method setupPlayerAllyEntity (line 128) | private Entity setupPlayerAllyEntity(Player player, Entity originalAll...
method setupPlayerEntityFromUnit (line 160) | private Entity setupPlayerEntityFromUnit(Player player, Unit unit, boo...
method isUsingDropship (line 214) | @Deprecated(since = "0.51.0", forRemoval = true)
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/AbstractUnitRating.java
class AbstractUnitRating (line 64) | @Deprecated(since = "0.50.10", forRemoval = true)
method AbstractUnitRating (line 128) | public AbstractUnitRating(Campaign campaign) {
method isInitialized (line 133) | static boolean isInitialized() {
method setInitialized (line 137) | private static void setInitialized(boolean initialized) {
method reInitialize (line 141) | @Override
method getAverageExperience (line 147) | @Override
method getExperienceLevelName (line 152) | protected abstract SkillLevel getExperienceLevelName(BigDecimal experi...
method getCombatRecordValue (line 154) | @Override
method calcAverageExperience (line 186) | protected BigDecimal calcAverageExperience() {
method getBreachCount (line 194) | int getBreachCount() {
method getCommanderList (line 198) | List<Person> getCommanderList() {
method getCommander (line 205) | @Override
method getCommanderSkillLevelWithBonus (line 261) | int getCommanderSkillLevelWithBonus(String skillName) {
method getFailCount (line 276) | int getFailCount() {
method getTechValue (line 280) | @Override
method getSuccessCount (line 288) | int getSuccessCount() {
method getPartialCount (line 295) | int getPartialCount() {
method getSupportPercent (line 302) | @Override
method getTransportValue (line 307) | @Override
method getUnitRating (line 345) | @Override
method getUnitRatingName (line 362) | @Override
method getUnitRating (line 375) | @Override
method getUnitRatingAsInteger (line 381) | @Override
method getScore (line 386) | @Override
method getModifier (line 391) | @Override
method getUnitValue (line 401) | BigDecimal getUnitValue(Unit u) {
method getTotalSkillLevels (line 412) | BigDecimal getTotalSkillLevels() {
method getTotalSkillLevels (line 421) | BigDecimal getTotalSkillLevels(boolean canInit) {
method getNumberUnits (line 431) | protected BigDecimal getNumberUnits() {
method hasUnits (line 438) | protected boolean hasUnits() {
method calculateUnitRatingScore (line 445) | protected abstract int calculateUnitRatingScore();
method initValues (line 451) | protected void initValues() {
method updateBayCount (line 503) | void updateBayCount(Entity e) {
method updateDockingCollarCount (line 532) | @Deprecated(since = "0.51.0", forRemoval = true)
method getCampaign (line 537) | protected Campaign getCampaign() {
method setCampaign (line 541) | protected void setCampaign(Campaign campaign) {
method setCommanderList (line 545) | private void setCommanderList(List<Person> commanderList) {
method setNumberUnits (line 549) | void setNumberUnits(BigDecimal numberUnits) {
method setTotalSkillLevels (line 553) | void setTotalSkillLevels(BigDecimal totalSkillLevels) {
method incrementSkillRatingCounts (line 562) | void incrementSkillRatingCounts(final SkillLevel skillLevel) {
method getSkillLevelCounts (line 573) | Map<SkillLevel, Integer> getSkillLevelCounts() {
method clearSkillRatingCounts (line 578) | private void clearSkillRatingCounts() {
method getMekCount (line 582) | int getMekCount() {
method setMekCount (line 586) | void setMekCount(int mekCount) {
method incrementMekCount (line 590) | private void incrementMekCount() {
method setInfantryUnitCount (line 594) | private void setInfantryUnitCount(int count) {
method incrementInfantryUnitCount (line 598) | private void incrementInfantryUnitCount() {
method getInfantryUnitCount (line 602) | @Deprecated(since = "0.51.0", forRemoval = true)
method getProtoCount (line 607) | int getProtoCount() {
method setProtoCount (line 611) | void setProtoCount(int protoCount) {
method incrementProtoCount (line 615) | private void incrementProtoCount() {
method getFighterCount (line 619) | int getFighterCount() {
method setFighterCount (line 623) | void setFighterCount(int fighterCount) {
method incrementFighterCount (line 627) | private void incrementFighterCount() {
method getLightVeeCount (line 631) | int getLightVeeCount() {
method setLightVeeCount (line 635) | void setLightVeeCount(int lightVeeCount) {
method incrementLightVeeCount (line 639) | private void incrementLightVeeCount() {
method getHeavyVeeCount (line 643) | int getHeavyVeeCount() {
method setHeavyVeeCount (line 647) | private void setHeavyVeeCount(int heavyVeeCount) {
method incrementHeavyVeeCount (line 651) | private void incrementHeavyVeeCount() {
method getSuperHeavyVeeCount (line 655) | int getSuperHeavyVeeCount() {
method setSuperHeavyVeeCount (line 659) | private void setSuperHeavyVeeCount(int superHeavyVeeCount) {
method incrementSuperHeavyVeeCount (line 663) | private void incrementSuperHeavyVeeCount() {
method getBattleArmorCount (line 667) | int getBattleArmorCount() {
method setBattleArmorCount (line 671) | void setBattleArmorCount(int battleArmorCount) {
method incrementBattleArmorCount (line 675) | private void incrementBattleArmorCount(int amount) {
method getNumberBaSquads (line 679) | int getNumberBaSquads() {
method setNumberBaSquads (line 683) | private void setNumberBaSquads(int numberBaSquads) {
method incrementNumberBaSquads (line 687) | private void incrementNumberBaSquads() {
method getInfantryCount (line 691) | int getInfantryCount() {
method setInfantryCount (line 695) | void setInfantryCount(int infantryCount) {
method incrementInfantryCount (line 699) | private void incrementInfantryCount(int amount) {
method calcInfantryPlatoons (line 709) | int calcInfantryPlatoons() {
method getDropShipCount (line 713) | int getDropShipCount() {
method setDropShipCount (line 717) | void setDropShipCount(int dropShipCount) {
method incrementDropShipCount (line 721) | private void incrementDropShipCount() {
method getSmallCraftCount (line 725) | int getSmallCraftCount() {
method setSmallCraftCount (line 729) | void setSmallCraftCount(int smallCraftCount) {
method incrementSmallCraftCount (line 733) | private void incrementSmallCraftCount() {
method getWarShipCount (line 737) | int getWarShipCount() {
method setWarShipCount (line 741) | private void setWarShipCount(int warShipCount) {
method incrementWarShipCount (line 745) | private void incrementWarShipCount() {
method getJumpShipCount (line 749) | int getJumpShipCount() {
method setJumpShipCount (line 753) | void setJumpShipCount(int jumpShipCount) {
method incrementJumpShipCount (line 757) | private void incrementJumpShipCount() {
method getMekBayCount (line 761) | int getMekBayCount() {
method setMekBayCount (line 765) | protected void setMekBayCount(int mekBayCount) {
method getProtoBayCount (line 769) | int getProtoBayCount() {
method setProtoBayCount (line 773) | protected void setProtoBayCount(int protoBayCount) {
method getFighterBayCount (line 777) | int getFighterBayCount() {
method setFighterBayCount (line 781) | protected void setFighterBayCount(int fighterBayCount) {
method getSmallCraftBayCount (line 785) | int getSmallCraftBayCount() {
method setSmallCraftBayCount (line 789) | protected void setSmallCraftBayCount(int smallCraftBayCount) {
method getLightVeeBayCount (line 793) | int getLightVeeBayCount() {
method setLightVeeBayCount (line 797) | protected void setLightVeeBayCount(int lightVeeBayCount) {
method getHeavyVeeBayCount (line 801) | int getHeavyVeeBayCount() {
method setHeavyVeeBayCount (line 805) | protected void setHeavyVeeBayCount(int heavyVeeBayCount) {
method getSuperHeavyVeeBayCount (line 809) | int getSuperHeavyVeeBayCount() {
method setSuperHeavyVeeBayCount (line 813) | protected void setSuperHeavyVeeBayCount(int superHeavyVeeBayCount) {
method getBaBayCount (line 817) | int getBaBayCount() {
method setBaBayCount (line 821) | protected void setBaBayCount(int baBayCount) {
method getInfantryBayCount (line 825) | int getInfantryBayCount() {
method setInfantryBayCount (line 829) | protected void setInfantryBayCount(int infantryBayCount) {
method getDockingCollarCount (line 833) | int getDockingCollarCount() {
method setDockingCollarCount (line 837) | void setDockingCollarCount(int dockingCollarCount) {
method isWarShipWithDocsOwner (line 841) | boolean isWarShipWithDocsOwner() {
method setWarShipWithDocsOwner (line 845) | void setWarShipWithDocsOwner(boolean warShipWithDocsOwner) {
method isWarShipOwner (line 849) | boolean isWarShipOwner() {
method setWarShipOwner (line 853) | void setWarShipOwner(boolean warShipOwner) {
method isJumpShipOwner (line 857) | boolean isJumpShipOwner() {
method setJumpShipOwner (line 861) | void setJumpShipOwner(boolean jumpShipOwner) {
method setCommander (line 865) | protected void setCommander(Person commander) {
method setBreachCount (line 869) | private void setBreachCount(int breachCount) {
method setSuccessCount (line 873) | private void setSuccessCount(int successCount) {
method setFailCount (line 877) | private void setFailCount(int failCount) {
method setPartialCount (line 881) | private void setPartialCount(int partialCount) {
method setSupportPercent (line 885) | void setSupportPercent(BigDecimal supportPercent) {
method getTransportPercent (line 889) | @Override
method setTransportPercent (line 894) | void setTransportPercent(BigDecimal transportPercent) {
method updateUnitCounts (line 898) | void updateUnitCounts(Unit unit) {
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/AverageExperienceRating.java
class AverageExperienceRating (line 57) | public class AverageExperienceRating {
method getSkillLevel (line 72) | protected static SkillLevel getSkillLevel(Campaign campaign, boolean l...
method getAverageExperienceModifier (line 101) | protected static int getAverageExperienceModifier(SkillLevel averageSk...
method calculateAverageExperienceRating (line 122) | private static int calculateAverageExperienceRating(Campaign campaign,...
method getSkillTargetNumber (line 263) | private static int getSkillTargetNumber(Person person, Entity entity,
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/CombatRecordRating.java
class CombatRecordRating (line 49) | public class CombatRecordRating {
method calculateCombatRecordRating (line 64) | protected static Map<String, Integer> calculateCombatRecordRating(Camp...
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/CommandRating.java
class CommandRating (line 53) | public class CommandRating {
method calculateCommanderRating (line 74) | protected static Map<String, Integer> calculateCommanderRating(Campaig...
method getATOWTraitScore (line 141) | private static int getATOWTraitScore(Person commander, boolean isUseAg...
method getSkillValue (line 201) | private static int getSkillValue(Person person, String skill) {
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/CrimeRating.java
class CrimeRating (line 42) | public class CrimeRating {
method calculateCrimeRating (line 52) | protected static Map<String, Integer> calculateCrimeRating(Campaign ca...
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/FieldManualMercRevDragoonsRating.java
class FieldManualMercRevDragoonsRating (line 57) | @Deprecated(since = "0.50.10", forRemoval = true)
method FieldManualMercRevDragoonsRating (line 80) | public FieldManualMercRevDragoonsRating(Campaign campaign) {
method initValues (line 84) | @Override
method updateAvailableSupport (line 135) | void updateAvailableSupport() {
method updateJumpShips (line 147) | private void updateJumpShips(Entity en) {
method updateTechSupportNeeds (line 159) | private void updateTechSupportNeeds(Unit u) {
method updateDropJumpShipSupportNeeds (line 234) | private void updateDropJumpShipSupportNeeds(Entity en) {
method calcMedicalSupportHoursNeeded (line 271) | private void calcMedicalSupportHoursNeeded() {
method getMedicalSupportHoursNeeded (line 285) | private int getMedicalSupportHoursNeeded() {
method calcAdminSupportHoursNeeded (line 289) | private void calcAdminSupportHoursNeeded() {
method getSupportHours (line 299) | private static int getSupportHours(int skillLevel) {
method updateTechSupportHours (line 309) | private void updateTechSupportHours(Person tech) {
method updateMedicalSupportHours (line 335) | private void updateMedicalSupportHours(Person doctor) {
method updateAdministrativeSupportHours (line 350) | private void updateAdministrativeSupportHours(Person administrator) {
method updateSkillLevel (line 365) | private void updateSkillLevel(Unit unit, BigDecimal value) {
method getCombatSkillAverage (line 387) | private static BigDecimal getCombatSkillAverage(Unit u) {
method reInitialize (line 403) | @Override
method calculateUnitRatingScore (line 422) | @Override
method getExperienceValue (line 440) | @Override
method getCommanderValue (line 457) | @Override
method getMedicPoolHours (line 478) | private int getMedicPoolHours() {
method getMedicalSupportAvailable (line 482) | int getMedicalSupportAvailable() {
method getAstechPoolHours (line 486) | private int getAstechPoolHours() {
method getTechSupportHours (line 490) | int getTechSupportHours() {
method getMedicalSupportPercentage (line 494) | private BigDecimal getMedicalSupportPercentage() {
method getMedicalSupportValue (line 509) | private int getMedicalSupportValue() {
method getAdminSupportPercentage (line 522) | private BigDecimal getAdminSupportPercentage() {
method getAdminValue (line 537) | private int getAdminValue() {
method getTechSupportNeeded (line 550) | private int getTechSupportNeeded() {
method getTechSupportPercentage (line 560) | private BigDecimal getTechSupportPercentage() {
method getTechSupportValue (line 578) | private int getTechSupportValue() {
method getSupportValue (line 591) | @Override
method getYearsInDebt (line 596) | private int getYearsInDebt() {
method getFinancialValue (line 602) | @Override
method getQualityDetails (line 611) | private String getQualityDetails() {
method getCommandDetails (line 626) | private String getCommandDetails() {
method getCombatRecordDetails (line 645) | private String getCombatRecordDetails() {
method getTransportationDetails (line 658) | String getTransportationDetails() {
method getTechnologyDetails (line 712) | private String getTechnologyDetails() {
method getSupportDetails (line 724) | private String getSupportDetails() {
method getFinancialDetails (line 774) | private String getFinancialDetails() {
method getDetails (line 787) | @Override
method getHelpText (line 815) | @Override
method getTransportPercent (line 834) | @Override
method getExperienceLevelName (line 914) | @Override
method getTechRatedUnits (line 929) | private int getTechRatedUnits() {
method getTechValue (line 943) | @Override
method setHighTechPercent (line 988) | private void setHighTechPercent(BigDecimal highTechPercent) {
method getHighTechPercent (line 992) | private BigDecimal getHighTechPercent() {
method updateAdvanceTechCount (line 1002) | private void updateAdvanceTechCount(Unit u, BigDecimal value) {
method setNumberClan (line 1045) | private void setNumberClan(BigDecimal numberClan) {
method getNumberClan (line 1049) | private BigDecimal getNumberClan() {
method setCountClan (line 1053) | private void setCountClan(int countClan) {
method setNumberIS2 (line 1057) | private void setNumberIS2(BigDecimal numberIS2) {
method getNumberIS2 (line 1061) | private BigDecimal getNumberIS2() {
method setCountIS2 (line 1065) | private void setCountIS2(int countIS2) {
method getCountIS2 (line 1069) | private int getCountIS2() {
method getCountClan (line 1073) | private int getCountClan() {
method getUnitRatingMethod (line 1077) | @Override
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/FinancialRating.java
class FinancialRating (line 41) | public class FinancialRating {
method calculateFinancialRating (line 52) | protected static Map<String, Integer> calculateFinancialRating(Finance...
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/IUnitRating.java
type IUnitRating (line 47) | @Deprecated(since = "0.50.10")
method reInitialize (line 62) | void reInitialize();
method getUnitRating (line 72) | int getUnitRating(int score);
method getUnitRatingAsInteger (line 78) | int getUnitRatingAsInteger();
method getScore (line 80) | int getScore();
method getModifier (line 82) | int getModifier();
method getUnitRatingName (line 90) | String getUnitRatingName(int rating);
method getUnitRating (line 96) | String getUnitRating();
method getExperienceValue (line 102) | int getExperienceValue();
method getAverageExperience (line 108) | SkillLevel getAverageExperience();
method getCommanderValue (line 114) | int getCommanderValue();
method getCommander (line 120) | Person getCommander();
method getCombatRecordValue (line 126) | int getCombatRecordValue();
method getSupportPercent (line 132) | BigDecimal getSupportPercent();
method getSupportValue (line 138) | int getSupportValue();
method getTransportPercent (line 144) | BigDecimal getTransportPercent();
method getTransportValue (line 150) | int getTransportValue();
method getTechValue (line 156) | int getTechValue();
method getFinancialValue (line 163) | int getFinancialValue();
method getDetails (line 169) | String getDetails();
method getHelpText (line 176) | String getHelpText();
method getUnitRatingMethod (line 182) | UnitRatingMethod getUnitRatingMethod();
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/OtherModifiers.java
class OtherModifiers (line 46) | public class OtherModifiers {
method calculateOtherModifiers (line 58) | protected static Map<String, Integer> calculateOtherModifiers(Campaign...
method getInactiveYears (line 87) | private static int getInactiveYears(Campaign campaign) {
method getSuitableContracts (line 118) | private static List<AtBContract> getSuitableContracts(Campaign campaig...
method isSuitableContract (line 136) | private static boolean isSuitableContract(AtBContract contract) {
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/ReputationController.java
class ReputationController (line 66) | public class ReputationController {
method getAverageSkillLevel (line 115) | public SkillLevel getAverageSkillLevel() {
method getAtbModifier (line 119) | public int getAtbModifier() {
method getReputationRating (line 123) | public int getReputationRating() {
method getReputationFactor (line 127) | public double getReputationFactor() {
method ReputationController (line 135) | public ReputationController() {
method initializeReputation (line 143) | @SuppressWarnings(value = "unchecked")
method calculateTotalReputation (line 198) | private void calculateTotalReputation() {
method getReputationModifier (line 215) | public int getReputationModifier() {
method getReportText (line 226) | public String getReportText(Campaign campaign) {
method writeReputationToXML (line 608) | public void writeReputationToXML(final PrintWriter pw, int indent) {
method writeMapToXML (line 693) | private <T> void writeMapToXML(final PrintWriter pw, final int indent,...
method generateInstanceFromXML (line 699) | public ReputationController generateInstanceFromXML(final Node working...
method parseSubNode (line 770) | private void parseSubNode(Node workingNode, @Nullable Map<String, Inte...
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/SupportRating.java
class SupportRating (line 48) | public class SupportRating {
method calculateSupportRating (line 60) | protected static Map<String, Map<String, ?>> calculateSupportRating(Ca...
method calculateAdministratorRequirements (line 105) | private static Map<String, Integer> calculateAdministratorRequirements...
method getTotalPersonnelCount (line 155) | private static int getTotalPersonnelCount(Campaign campaign, int techn...
method calculateCrewRequirements (line 186) | private static Map<String, Integer> calculateCrewRequirements(Campaign...
method calculateTechnicianRequirements (line 212) | private static Map<String, List<Integer>> calculateTechnicianRequireme...
method calculateBattleArmorAndProtoMekCounts (line 260) | private static Map<String, Integer> calculateBattleArmorAndProtoMekCou...
method calculateTechCounts (line 292) | private static Map<String, Integer> calculateTechCounts(Campaign campa...
method updateCount (line 318) | private static void updateCount(Supplier<Boolean> condition, String ke...
method calculateTechRating (line 334) | private static int calculateTechRating(int percentage) {
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/TransportationRating.java
class TransportationRating (line 46) | public class TransportationRating {
method calculateTransportationRating (line 62) | public static List<Map<String, Integer>> calculateTransportationRating...
method getCapacityRating (line 219) | private static int getCapacityRating(int rating, int capacityRating) {
method calculateRating (line 241) | protected static int calculateRating(int capacity, int requirements) {
method calculateTransportationCapacities (line 265) | private static Map<String, Integer> calculateTransportationCapacities(...
method calculateTransportRequirements (line 361) | private static Map<String, Integer> calculateTransportRequirements(Cam...
FILE: MekHQ/src/mekhq/campaign/camOpsReputation/UnitRatingMethod.java
type UnitRatingMethod (line 44) | @Deprecated(since = "0.50.10", forRemoval = true)
method UnitRatingMethod (line 59) | UnitRatingMethod(String name) {
method isEnabled (line 67) | public boolean isEnabled() {
method isCampaignOperations (line 71) | @Deprecated(since = "0.51.0", forRemoval = true)
method isFMMR (line 76) | @Deprecated(since = "0.51.0", forRemoval = true)
method parseFromString (line 83) | public static UnitRatingMethod parseFromString(String text) {
method toString (line 97) | @Override
FILE: MekHQ/src/mekhq/campaign/campaignOptions/AcquisitionsType.java
type AcquisitionsType (line 45) | public enum AcquisitionsType {
method AcquisitionsType (line 66) | AcquisitionsType(String lookupName) {
method getLookupName (line 71) | public String getLookupName() {
method toString (line 75) | @Override
method generateLabel (line 88) | private String generateLabel() {
method parseFromLookupName (line 105) | public static AcquisitionsType parseFromLookupName(String lookupName) {
FILE: MekHQ/src/mekhq/campaign/campaignOptions/BoardScalingType.java
type BoardScalingType (line 37) | public enum BoardScalingType {
method BoardScalingType (line 50) | BoardScalingType(String lookupName, int heightModifier, int minimumWid...
method getLookupName (line 57) | public String getLookupName() {
method toString (line 61) | @Override
method getHeightModifier (line 66) | public int getHeightModifier() {
method getMinimumWidth (line 70) | public int getMinimumWidth() {
method generateLabel (line 74) | private String generateLabel() {
method parseFromLookupName (line 78) | public static BoardScalingType parseFromLookupName(String lookupName) {
FILE: MekHQ/src/mekhq/campaign/campaignOptions/CampaignOptions.java
class CampaignOptions (line 80) | public class CampaignOptions {
method getTechLevelName (line 103) | public static String getTechLevelName(final int techLevel) {
method CampaignOptions (line 700) | public CampaignOptions() {
method getManualUnitRatingModifier (line 1372) | public int getManualUnitRatingModifier() {
method setManualUnitRatingModifier (line 1376) | public void setManualUnitRatingModifier(final int manualUnitRatingModi...
method isClampReputationPayMultiplier (line 1380) | public boolean isClampReputationPayMultiplier() {
method setClampReputationPayMultiplier (line 1384) | public void setClampReputationPayMultiplier(final boolean clampReputat...
method isReduceReputationPerformanceModifier (line 1388) | public boolean isReduceReputationPerformanceModifier() {
method setReduceReputationPerformanceModifier (line 1392) | public void setReduceReputationPerformanceModifier(final boolean reduc...
method isReputationPerformanceModifierCutOff (line 1396) | public boolean isReputationPerformanceModifierCutOff() {
method setReputationPerformanceModifierCutOff (line 1400) | public void setReputationPerformanceModifierCutOff(final boolean reput...
method isCheckMaintenance (line 1410) | public boolean isCheckMaintenance() {
method setCheckMaintenance (line 1414) | public void setCheckMaintenance(final boolean checkMaintenance) {
method getMaintenanceCycleDays (line 1418) | public int getMaintenanceCycleDays() {
method setMaintenanceCycleDays (line 1422) | public void setMaintenanceCycleDays(final int maintenanceCycleDays) {
method getMaintenanceBonus (line 1426) | public int getMaintenanceBonus() {
method setMaintenanceBonus (line 1430) | public void setMaintenanceBonus(final int maintenanceBonus) {
method isUseQualityMaintenance (line 1434) | public boolean isUseQualityMaintenance() {
method setUseQualityMaintenance (line 1438) | public void setUseQualityMaintenance(final boolean useQualityMaintenan...
method isReverseQualityNames (line 1442) | public boolean isReverseQualityNames() {
method setReverseQualityNames (line 1446) | public void setReverseQualityNames(final boolean reverseQualityNames) {
method isUseRandomUnitQualities (line 1450) | public boolean isUseRandomUnitQualities() {
method setUseRandomUnitQualities (line 1454) | public void setUseRandomUnitQualities(final boolean useRandomUnitQuali...
method isUsePlanetaryModifiers (line 1458) | public boolean isUsePlanetaryModifiers() {
method setUsePlanetaryModifiers (line 1462) | public void setUsePlanetaryModifiers(final boolean usePlanetaryModifie...
method isUseUnofficialMaintenance (line 1466) | public boolean isUseUnofficialMaintenance() {
method setUseUnofficialMaintenance (line 1470) | public void setUseUnofficialMaintenance(final boolean useUnofficialMai...
method isLogMaintenance (line 1474) | public boolean isLogMaintenance() {
method setLogMaintenance (line 1478) | public void setLogMaintenance(final boolean logMaintenance) {
method getDefaultMaintenanceTime (line 1485) | public int getDefaultMaintenanceTime() {
method setDefaultMaintenanceTime (line 1494) | public void setDefaultMaintenanceTime(final int defaultMaintenanceTime) {
method isMRMSUseRepair (line 1500) | public boolean isMRMSUseRepair() {
method setMRMSUseRepair (line 1504) | public void setMRMSUseRepair(final boolean mrmsUseRepair) {
method isMRMSUseSalvage (line 1508) | public boolean isMRMSUseSalvage() {
method setMRMSUseSalvage (line 1512) | public void setMRMSUseSalvage(final boolean mrmsUseSalvage) {
method isMRMSUseExtraTime (line 1516) | public boolean isMRMSUseExtraTime() {
method setMRMSUseExtraTime (line 1520) | public void setMRMSUseExtraTime(final boolean mrmsUseExtraTime) {
method isMRMSUseRushJob (line 1524) | public boolean isMRMSUseRushJob() {
method setMRMSUseRushJob (line 1528) | public void setMRMSUseRushJob(final boolean mrmsUseRushJob) {
method isMRMSAllowCarryover (line 1532) | public boolean isMRMSAllowCarryover() {
method setMRMSAllowCarryover (line 1536) | public void setMRMSAllowCarryover(final boolean mrmsAllowCarryover) {
method isMRMSOptimizeToCompleteToday (line 1540) | public boolean isMRMSOptimizeToCompleteToday() {
method setMRMSOptimizeToCompleteToday (line 1544) | public void setMRMSOptimizeToCompleteToday(final boolean mrmsOptimizeT...
method isMRMSScrapImpossible (line 1548) | public boolean isMRMSScrapImpossible() {
method setMRMSScrapImpossible (line 1552) | public void setMRMSScrapImpossible(final boolean mrmsScrapImpossible) {
method isMRMSUseAssignedTechsFirst (line 1556) | public boolean isMRMSUseAssignedTechsFirst() {
method setMRMSUseAssignedTechsFirst (line 1560) | public void setMRMSUseAssignedTechsFirst(final boolean mrmsUseAssigned...
method isMRMSReplacePod (line 1564) | public boolean isMRMSReplacePod() {
method setMRMSReplacePod (line 1568) | public void setMRMSReplacePod(final boolean mrmsReplacePod) {
method getMRMSOptions (line 1572) | public List<MRMSOption> getMRMSOptions() {
method setMRMSOptions (line 1576) | public void setMRMSOptions(final List<MRMSOption> mrmsOptions) {
method addMRMSOption (line 1580) | public void addMRMSOption(final MRMSOption mrmsOption) {
method isUseTactics (line 1596) | public boolean isUseTactics() {
method setUseTactics (line 1600) | public void setUseTactics(final boolean useTactics) {
method isUseInitiativeBonus (line 1604) | public boolean isUseInitiativeBonus() {
method setUseInitiativeBonus (line 1608) | public void setUseInitiativeBonus(final boolean useInitiativeBonus) {
method isUseToughness (line 1612) | public boolean isUseToughness() {
method setUseToughness (line 1616) | public void setUseToughness(final boolean useToughness) {
method isUseRandomToughness (line 1620) | public boolean isUseRandomToughness() {
method setUseRandomToughness (line 1624) | public void setUseRandomToughness(final boolean useRandomToughness) {
method isUseArtillery (line 1628) | public boolean isUseArtillery() {
method setUseArtillery (line 1632) | public void setUseArtillery(final boolean useArtillery) {
method isUseAbilities (line 1636) | public boolean isUseAbilities() {
method setUseAbilities (line 1640) | public void setUseAbilities(final boolean useAbilities) {
method isOnlyCommandersMatterVehicles (line 1644) | public boolean isOnlyCommandersMatterVehicles() {
method setOnlyCommandersMatterVehicles (line 1648) | public void setOnlyCommandersMatterVehicles(final boolean onlyCommande...
method isOnlyCommandersMatterInfantry (line 1652) | public boolean isOnlyCommandersMatterInfantry() {
method setOnlyCommandersMatterInfantry (line 1656) | public void setOnlyCommandersMatterInfantry(final boolean onlyCommande...
method isOnlyCommandersMatterBattleArmor (line 1660) | public boolean isOnlyCommandersMatterBattleArmor() {
method setOnlyCommandersMatterBattleArmor (line 1664) | public void setOnlyCommandersMatterBattleArmor(final boolean onlyComma...
method isUseEdge (line 1668) | public boolean isUseEdge() {
method setUseEdge (line 1672) | public void setUseEdge(final boolean useEdge) {
method isUseSupportEdge (line 1676) | public boolean isUseSupportEdge() {
method setUseSupportEdge (line 1680) | public void setUseSupportEdge(final boolean useSupportEdge) {
method isUseImplants (line 1684) | public boolean isUseImplants() {
method setUseImplants (line 1688) | public void setUseImplants(final boolean useImplants) {
method isAlternativeQualityAveraging (line 1692) | public boolean isAlternativeQualityAveraging() {
method setAlternativeQualityAveraging (line 1696) | public void setAlternativeQualityAveraging(final boolean alternativeQu...
method isUseAgeEffects (line 1700) | public boolean isUseAgeEffects() {
method setUseAgeEffects (line 1704) | public void setUseAgeEffects(final boolean useAgeEffects) {
method isUseTransfers (line 1708) | public boolean isUseTransfers() {
method setUseTransfers (line 1712) | public void setUseTransfers(final boolean useTransfers) {
method isUseExtendedTOEForceName (line 1716) | public boolean isUseExtendedTOEForceName() {
method setUseExtendedTOEForceName (line 1720) | public void setUseExtendedTOEForceName(final boolean useExtendedTOEFor...
method isPersonnelLogSkillGain (line 1724) | public boolean isPersonnelLogSkillGain() {
method setPersonnelLogSkillGain (line 1728) | public void setPersonnelLogSkillGain(final boolean personnelLogSkillGa...
method isPersonnelLogAbilityGain (line 1732) | public boolean isPersonnelLogAbilityGain() {
method setPersonnelLogAbilityGain (line 1736) | public void setPersonnelLogAbilityGain(final boolean personnelLogAbili...
method isPersonnelLogEdgeGain (line 1740) | public boolean isPersonnelLogEdgeGain() {
method setPersonnelLogEdgeGain (line 1744) | public void setPersonnelLogEdgeGain(final boolean personnelLogEdgeGain) {
method isDisplayPersonnelLog (line 1748) | public boolean isDisplayPersonnelLog() {
method setDisplayPersonnelLog (line 1752) | public void setDisplayPersonnelLog(final boolean displayPersonnelLog) {
method isDisplayScenarioLog (line 1756) | public boolean isDisplayScenarioLog() {
method setDisplayScenarioLog (line 1760) | public void setDisplayScenarioLog(final boolean displayScenarioLog) {
method isDisplayKillRecord (line 1764) | public boolean isDisplayKillRecord() {
method setDisplayKillRecord (line 1768) | public void setDisplayKillRecord(final boolean displayKillRecord) {
method isDisplayMedicalRecord (line 1772) | public boolean isDisplayMedicalRecord() {
method setDisplayMedicalRecord (line 1776) | public void setDisplayMedicalRecord(final boolean displayMedicalRecord) {
method isDisplayPatientRecord (line 1780) | public boolean isDisplayPatientRecord() {
method setDisplayPatientRecord (line 1784) | public void setDisplayPatientRecord(final boolean displayPatientRecord) {
method isDisplayAssignmentRecord (line 1788) | public boolean isDisplayAssignmentRecord() {
method setDisplayAssignmentRecord (line 1792) | public void setDisplayAssignmentRecord(final boolean displayAssignment...
method isDisplayPerformanceRecord (line 1796) | public boolean isDisplayPerformanceRecord() {
method setDisplayPerformanceRecord (line 1800) | public void setDisplayPerformanceRecord(final boolean displayPerforman...
method isAwardVeterancySPAs (line 1804) | public boolean isAwardVeterancySPAs() {
method setAwardVeterancySPAs (line 1808) | public void setAwardVeterancySPAs(final boolean awardVeterancySPAs) {
method isRewardComingOfAgeAbilities (line 1812) | public boolean isRewardComingOfAgeAbilities() {
method setRewardComingOfAgeAbilities (line 1816) | public void setRewardComingOfAgeAbilities(final boolean rewardComingOf...
method isRewardComingOfAgeRPSkills (line 1820) | public boolean isRewardComingOfAgeRPSkills() {
method setRewardComingOfAgeRPSkills (line 1824) | public void setRewardComingOfAgeRPSkills(final boolean rewardComingOfA...
method isUseFatigue (line 1828) | public boolean isUseFatigue() {
method setUseFatigue (line 1832) | public void setUseFatigue(final boolean useFatigue) {
method getFatigueRate (line 1836) | public Integer getFatigueRate() {
method setFatigueRate (line 1840) | public void setFatigueRate(final Integer fatigueRate) {
method isUseInjuryFatigue (line 1844) | public boolean isUseInjuryFatigue() {
method setUseInjuryFatigue (line 1848) | public void setUseInjuryFatigue(final boolean useInjuryFatigue) {
method getFieldKitchenCapacity (line 1852) | public Integer getFieldKitchenCapacity() {
method setFieldKitchenCapacity (line 1856) | public void setFieldKitchenCapacity(final Integer fieldKitchenCapacity) {
method isUseFieldKitchenIgnoreNonCombatants (line 1860) | public boolean isUseFieldKitchenIgnoreNonCombatants() {
method setFieldKitchenIgnoreNonCombatants (line 1864) | public void setFieldKitchenIgnoreNonCombatants(final boolean fieldKitc...
method getFatigueUndeploymentThreshold (line 1868) | public Integer getFatigueUndeploymentThreshold() {
method setFatigueUndeploymentThreshold (line 1872) | public void setFatigueUndeploymentThreshold(final Integer fatigueUndep...
method getFatigueLeaveThreshold (line 1876) | public Integer getFatigueLeaveThreshold() {
method setFatigueLeaveThreshold (line 1880) | public void setFatigueLeaveThreshold(final Integer fatigueLeaveThresho...
method isUseTimeInService (line 1891) | public boolean isUseTimeInService() {
method setUseTimeInService (line 1898) | public void setUseTimeInService(final boolean useTimeInService) {
method getTimeInServiceDisplayFormat (line 1905) | public TimeInDisplayFormat getTimeInServiceDisplayFormat() {
method setTimeInServiceDisplayFormat (line 1912) | public void setTimeInServiceDisplayFormat(final TimeInDisplayFormat ti...
method isUseTimeInRank (line 1919) | public boolean isUseTimeInRank() {
method setUseTimeInRank (line 1926) | public void setUseTimeInRank(final boolean useTimeInRank) {
method getTimeInRankDisplayFormat (line 1933) | public TimeInDisplayFormat getTimeInRankDisplayFormat() {
method setTimeInRankDisplayFormat (line 1940) | public void setTimeInRankDisplayFormat(final TimeInDisplayFormat timeI...
method isTrackTotalEarnings (line 1947) | public boolean isTrackTotalEarnings() {
method setTrackTotalEarnings (line 1954) | public void setTrackTotalEarnings(final boolean trackTotalEarnings) {
method isTrackTotalXPEarnings (line 1961) | public boolean isTrackTotalXPEarnings() {
method setTrackTotalXPEarnings (line 1968) | public void setTrackTotalXPEarnings(final boolean trackTotalXPEarnings) {
method isShowOriginFaction (line 1975) | public boolean isShowOriginFaction() {
method setShowOriginFaction (line 1982) | public void setShowOriginFaction(final boolean showOriginFaction) {
method isAdminsHaveNegotiation (line 1986) | public boolean isAdminsHaveNegotiation() {
method setAdminsHaveNegotiation (line 1990) | public void setAdminsHaveNegotiation(final boolean useAdminsHaveNegoti...
method isAdminExperienceLevelIncludeNegotiation (line 1994) | public boolean isAdminExperienceLevelIncludeNegotiation() {
method setAdminExperienceLevelIncludeNegotiation (line 1998) | public void setAdminExperienceLevelIncludeNegotiation(final boolean us...
method isUseAdvancedMedical (line 2016) | public boolean isUseAdvancedMedical() {
method isUseAdvancedMedicalDirect (line 2030) | public boolean isUseAdvancedMedicalDirect() {
method setUseAdvancedMedical (line 2034) | public void setUseAdvancedMedical(final boolean useAdvancedMedical) {
method getHealingWaitingPeriod (line 2038) | public int getHealingWaitingPeriod() {
method setHealingWaitingPeriod (line 2042) | public void setHealingWaitingPeriod(final int healWaitingPeriod) {
method getNaturalHealingWaitingPeriod (line 2046) | public int getNaturalHealingWaitingPeriod() {
method setNaturalHealingWaitingPeriod (line 2050) | public void setNaturalHealingWaitingPeriod(final int naturalHealingWai...
method getMinimumHitsForVehicles (line 2054) | public int getMinimumHitsForVehicles() {
method setMinimumHitsForVehicles (line 2058) | public void setMinimumHitsForVehicles(final int minimumHitsForVehicles) {
method isUseRandomHitsForVehicles (line 2062) | public boolean isUseRandomHitsForVehicles() {
method setUseRandomHitsForVehicles (line 2066) | public void setUseRandomHitsForVehicles(final boolean useRandomHitsFor...
method isTougherHealing (line 2070) | public boolean isTougherHealing() {
method setTougherHealing (line 2074) | public void setTougherHealing(final boolean tougherHealing) {
method isUseAlternativeAdvancedMedical (line 2078) | public boolean isUseAlternativeAdvancedMedical() {
method setUseAlternativeAdvancedMedical (line 2082) | public void setUseAlternativeAdvancedMedical(final boolean useAlternat...
method isUseKinderAlternativeAdvancedMedical (line 2086) | public boolean isUseKinderAlternativeAdvancedMedical() {
method setUseKinderAlternativeAdvancedMedical (line 2090) | public void setUseKinderAlternativeAdvancedMedical(final boolean useKi...
method isUseRandomDiseases (line 2094) | public boolean isUseRandomDiseases() {
method setUseRandomDiseases (line 2098) | public void setUseRandomDiseases(final boolean useRandomDiseases) {
method getMaximumPatients (line 2102) | public int getMaximumPatients() {
method setMaximumPatients (line 2106) | public void setMaximumPatients(final int maximumPatients) {
method isDoctorsUseAdministration (line 2110) | public boolean isDoctorsUseAdministration() {
method setDoctorsUseAdministration (line 2114) | public void setDoctorsUseAdministration(final boolean doctorsUseAdmini...
method isUseUsefulMedics (line 2118) | public boolean isUseUsefulMedics() {
method setIsUseUsefulMedics (line 2122) | public void setIsUseUsefulMedics(final boolean useUsefulMedics) {
method isUseBlobInfantry (line 2126) | public boolean isUseBlobInfantry() {
method setUseBlobInfantry (line 2130) | public void setUseBlobInfantry(final boolean useBlobInfantry) {
method isUseBlobBattleArmor (line 2134) | public boolean isUseBlobBattleArmor() {
method setUseBlobBattleArmor (line 2138) | public void setUseBlobBattleArmor(final boolean useBlobBattleArmor) {
method isUseBlobVehicleCrewGround (line 2142) | public boolean isUseBlobVehicleCrewGround() {
method setUseBlobVehicleCrewGround (line 2146) | public void setUseBlobVehicleCrewGround(final boolean useBlobVehicleCr...
method isUseBlobVehicleCrewVTOL (line 2150) | public boolean isUseBlobVehicleCrewVTOL() {
method setUseBlobVehicleCrewVTOL (line 2154) | public void setUseBlobVehicleCrewVTOL(final boolean useBlobVehicleCrew...
method isUseBlobVehicleCrewNaval (line 2158) | public boolean isUseBlobVehicleCrewNaval() {
method setUseBlobVehicleCrewNaval (line 2162) | public void setUseBlobVehicleCrewNaval(final boolean useBlobVehicleCre...
method isUseBlobVesselPilot (line 2166) | public boolean isUseBlobVesselPilot() {
method setUseBlobVesselPilot (line 2170) | public void setUseBlobVesselPilot(final boolean useBlobVesselPilot) {
method isUseBlobVesselGunner (line 2174) | public boolean isUseBlobVesselGunner() {
method setUseBlobVesselGunner (line 2178) | public void setUseBlobVesselGunner(final boolean useBlobVesselGunner) {
method isUseBlobVesselCrew (line 2182) | public boolean isUseBlobVesselCrew() {
method setUseBlobVesselCrew (line 2186) | public void setUseBlobVesselCrew(final boolean useBlobVesselCrew) {
method isUseMASHTheatres (line 2190) | public boolean isUseMASHTheatres() {
method setIsUseMASHTheatres (line 2194) | public void setIsUseMASHTheatres(final boolean useMASHTheatres) {
method getMASHTheatreCapacity (line 2198) | public int getMASHTheatreCapacity() {
method setMASHTheatreCapacity (line 2202) | public void setMASHTheatreCapacity(final int mashTheatreCapacity) {
method getPrisonerCaptureStyle (line 2209) | public PrisonerCaptureStyle getPrisonerCaptureStyle() {
method setPrisonerCaptureStyle (line 2213) | public void setPrisonerCaptureStyle(final PrisonerCaptureStyle prisone...
method isUseFunctionalEscapeArtist (line 2217) | public boolean isUseFunctionalEscapeArtist() {
method setUseFunctionalEscapeArtist (line 2221) | public void setUseFunctionalEscapeArtist(final boolean useFunctionalEs...
method isUseDylansRandomXP (line 2227) | public boolean isUseDylansRandomXP() {
method setUseDylansRandomXP (line 2231) | public void setUseDylansRandomXP(final boolean useDylansRandomXP) {
method getNonBinaryDiceSize (line 2235) | public int getNonBinaryDiceSize() {
method setNonBinaryDiceSize (line 2239) | public void setNonBinaryDiceSize(final int nonBinaryDiceSize) {
method getRandomOriginOptions (line 2245) | public RandomOriginOptions getRandomOriginOptions() {
method setRandomOriginOptions (line 2249) | public void setRandomOriginOptions(final RandomOriginOptions randomOri...
method isUseRandomPersonalities (line 2253) | public boolean isUseRandomPersonalities() {
method setUseRandomPersonalities (line 2257) | public void setUseRandomPersonalities(final boolean useRandomPersonali...
method isUseRandomPersonalityReputation (line 2261) | public boolean isUseRandomPersonalityReputation() {
method setUseRandomPersonalityReputation (line 2265) | public void setUseRandomPersonalityReputation(final boolean useRandomP...
method isUseReasoningXpMultiplier (line 2269) | public boolean isUseReasoningXpMultiplier() {
method setUseReasoningXpMultiplier (line 2273) | public void setUseReasoningXpMultiplier(final boolean useReasoningXpMu...
method isUseSimulatedRelationships (line 2277) | public boolean isUseSimulatedRelationships() {
method setUseSimulatedRelationships (line 2281) | public void setUseSimulatedRelationships(final boolean useSimulatedRel...
method isUseRandomRetirement (line 2287) | public boolean isUseRandomRetirement() {
method setUseRandomRetirement (line 2291) | public void setUseRandomRetirement(final boolean useRandomRetirement) {
method getTurnoverFrequency (line 2295) | public TurnoverFrequency getTurnoverFrequency() {
method setTurnoverFrequency (line 2299) | public void setTurnoverFrequency(final TurnoverFrequency turnoverFrequ...
method isUseContractCompletionRandomRetirement (line 2303) | public boolean isUseContractCompletionRandomRetirement() {
method setUseContractCompletionRandomRetirement (line 2307) | public void setUseContractCompletionRandomRetirement(final boolean use...
method isUseCustomRetirementModifiers (line 2311) | public boolean isUseCustomRetirementModifiers() {
method setUseCustomRetirementModifiers (line 2315) | public void setUseCustomRetirementModifiers(final boolean useCustomRet...
method isUseFatigueModifiers (line 2319) | public boolean isUseFatigueModifiers() {
method setUseFatigueModifiers (line 2323) | public void setUseFatigueModifiers(final boolean useFatigueModifiers) {
method isUseLoyaltyModifiers (line 2327) | public boolean isUseLoyaltyModifiers() {
method setUseLoyaltyModifiers (line 2331) | public void setUseLoyaltyModifiers(final boolean useLoyaltyModifiers) {
method isUseHideLoyalty (line 2335) | public boolean isUseHideLoyalty() {
method setUseHideLoyalty (line 2339) | public void setUseHideLoyalty(final boolean useHideLoyalty) {
method isUseRandomFounderTurnover (line 2343) | public boolean isUseRandomFounderTurnover() {
method setUseRandomFounderTurnover (line 2347) | public void setUseRandomFounderTurnover(final boolean useRandomFounder...
method isUseFounderRetirement (line 2351) | public boolean isUseFounderRetirement() {
method setUseFounderRetirement (line 2355) | public void setUseFounderRetirement(final boolean useFounderRetirement) {
method isUseSubContractSoldiers (line 2359) | public boolean isUseSubContractSoldiers() {
method setUseSubContractSoldiers (line 2363) | public void setUseSubContractSoldiers(final boolean useSubContractSold...
method getTurnoverFixedTargetNumber (line 2367) | public Integer getTurnoverFixedTargetNumber() {
method setTurnoverFixedTargetNumber (line 2371) | public void setTurnoverFixedTargetNumber(final Integer turnoverFixedTa...
method getPayoutRateOfficer (line 2375) | public Integer getPayoutRateOfficer() {
method setPayoutRateOfficer (line 2379) | public void setPayoutRateOfficer(final Integer payoutRateOfficer) {
method getPayoutRateEnlisted (line 2383) | public Integer getPayoutRateEnlisted() {
method setPayoutRateEnlisted (line 2387) | public void setPayoutRateEnlisted(final Integer payoutRateEnlisted) {
method getPayoutRetirementMultiplier (line 2391) | public Integer getPayoutRetirementMultiplier() {
method setPayoutRetirementMultiplier (line 2395) | public void setPayoutRetirementMultiplier(final Integer payoutRetireme...
method isUsePayoutServiceBonus (line 2399) | public boolean isUsePayoutServiceBonus() {
method setUsePayoutServiceBonus (line 2403) | public void setUsePayoutServiceBonus(final boolean usePayoutServiceBon...
method getPayoutServiceBonusRate (line 2407) | public Integer getPayoutServiceBonusRate() {
method setPayoutServiceBonusRate (line 2411) | public void setPayoutServiceBonusRate(final Integer payoutServiceBonus...
method isUseSkillModifiers (line 2415) | public boolean isUseSkillModifiers() {
method setUseSkillModifiers (line 2419) | public void setUseSkillModifiers(final boolean useSkillModifiers) {
method isUseAgeModifiers (line 2423) | public boolean isUseAgeModifiers() {
method setUseAgeModifiers (line 2427) | public void setUseAgeModifiers(final boolean useAgeModifiers) {
method isUseUnitRatingModifiers (line 2431) | public boolean isUseUnitRatingModifiers() {
method setUseUnitRatingModifiers (line 2435) | public void setUseUnitRatingModifiers(final boolean useUnitRatingModif...
method isUseFactionModifiers (line 2439) | public boolean isUseFactionModifiers() {
method setUseFactionModifiers (line 2443) | public void setUseFactionModifiers(final boolean useFactionModifiers) {
method isUseMissionStatusModifiers (line 2447) | public boolean isUseMissionStatusModifiers() {
method setUseMissionStatusModifiers (line 2451) | public void setUseMissionStatusModifiers(final boolean useMissionStatu...
method isUseHostileTerritoryModifiers (line 2455) | public boolean isUseHostileTerritoryModifiers() {
method setUseHostileTerritoryModifiers (line 2459) | public void setUseHostileTerritoryModifiers(final boolean useHostileTe...
method isUseFamilyModifiers (line 2463) | public boolean isUseFamilyModifiers() {
method setUseFamilyModifiers (line 2467) | public void setUseFamilyModifiers(final boolean useFamilyModifiers) {
method isUseAdministrativeStrain (line 2474) | @Deprecated(since = "0.50.07", forRemoval = true)
method isUseHRStrain (line 2479) | public boolean isUseHRStrain() {
method setUseAdministrativeStrain (line 2486) | @Deprecated(since = "0.50.07", forRemoval = true)
method setUseHRStrain (line 2491) | public void setUseHRStrain(final boolean UseHRStrain) {
method getAdministrativeCapacity (line 2498) | @Deprecated(since = "0.50.07", forRemoval = true)
method getHRCapacity (line 2503) | public Integer getHRCapacity() {
method setHRCapacity (line 2507) | public void setHRCapacity(final Integer hrCapacity) {
method isUseManagementSkill (line 2511) | public boolean isUseManagementSkill() {
method setUseManagementSkill (line 2515) | public void setUseManagementSkill(final boolean useManagementSkill) {
method isUseCommanderLeadershipOnly (line 2519) | public boolean isUseCommanderLeadershipOnly() {
method setUseCommanderLeadershipOnly (line 2523) | public void setUseCommanderLeadershipOnly(final boolean useCommanderLe...
method getManagementSkillPenalty (line 2527) | public Integer getManagementSkillPenalty() {
method setManagementSkillPenalty (line 2531) | public void setManagementSkillPenalty(final Integer managementSkillPen...
method getServiceContractDuration (line 2535) | public Integer getServiceContractDuration() {
method setServiceContractDuration (line 2539) | public void setServiceContractDuration(final Integer serviceContractDu...
method getServiceContractModifier (line 2543) | public Integer getServiceContractModifier() {
method setServiceContractModifier (line 2547) | public void setServiceContractModifier(final Integer serviceContractMo...
method isPayBonusDefault (line 2551) | public boolean isPayBonusDefault() {
method setPayBonusDefault (line 2555) | public void setPayBonusDefault(final boolean payBonusDefault) {
method getPayBonusDefaultThreshold (line 2559) | public int getPayBonusDefaultThreshold() {
method setPayBonusDefaultThreshold (line 2563) | public void setPayBonusDefaultThreshold(final int payBonusDefaultThres...
method getFamilyDisplayLevel (line 2573) | public FamilialRelationshipDisplayLevel getFamilyDisplayLevel() {
method setFamilyDisplayLevel (line 2580) | public void setFamilyDisplayLevel(final FamilialRelationshipDisplayLev...
method isAnnounceBirthdays (line 2586) | public boolean isAnnounceBirthdays() {
method setAnnounceBirthdays (line 2590) | public void setAnnounceBirthdays(final boolean announceBirthdays) {
method isAnnounceRecruitmentAnniversaries (line 2599) | public boolean isAnnounceRecruitmentAnniversaries() {
method setAnnounceRecruitmentAnniversaries (line 2609) | public void setAnnounceRecruitmentAnniversaries(final boolean announce...
method isAnnounceOfficersOnly (line 2613) | public boolean isAnnounceOfficersOnly() {
method setAnnounceOfficersOnly (line 2617) | public void setAnnounceOfficersOnly(final boolean announceOfficersOnly) {
method isAnnounceChildBirthdays (line 2621) | public boolean isAnnounceChildBirthdays() {
method setAnnounceChildBirthdays (line 2625) | public void setAnnounceChildBirthdays(final boolean announceChildBirth...
method isShowLifeEventDialogBirths (line 2631) | public boolean isShowLifeEventDialogBirths() {
method setShowLifeEventDialogBirths (line 2635) | public void setShowLifeEventDialogBirths(final boolean showLifeEventDi...
method isShowLifeEventDialogComingOfAge (line 2639) | public boolean isShowLifeEventDialogComingOfAge() {
method setShowLifeEventDialogComingOfAge (line 2643) | public void setShowLifeEventDialogComingOfAge(final boolean showLifeEv...
method isShowLifeEventDialogCelebrations (line 2647) | public boolean isShowLifeEventDialogCelebrations() {
method setShowLifeEventDialogCelebrations (line 2651) | public void setShowLifeEventDialogCelebrations(final boolean showLifeE...
method isUseRandomDependentAddition (line 2657) | public boolean isUseRandomDependentAddition() {
method setUseRandomDependentAddition (line 2661) | public void setUseRandomDependentAddition(final boolean useRandomDepen...
method isUseRandomDependentRemoval (line 2665) | public boolean isUseRandomDependentRemoval() {
method setUseRandomDependentRemoval (line 2669) | public void setUseRandomDependentRemoval(final boolean useRandomDepend...
method getDependentProfessionDieSize (line 2673) | public int getDependentProfessionDieSize() {
method setDependentProfessionDieSize (line 2677) | public void setDependentProfessionDieSize(final int dependentProfessio...
method getCivilianProfessionDieSize (line 26
Copy disabled (too large)
Download .json
Condensed preview — 1942 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (29,667K chars).
[
{
"path": ".editorconfig",
"chars": 21110,
"preview": "[*]\ncharset = utf-8\nend_of_line = lf\nindent_size = 4\nindent_style = space\ninsert_final_newline = true\nmax_line_length = "
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.yml",
"chars": 3960,
"preview": "name: \"Report an Issue\"\ndescription: >\n Please make sure you're opening the issue on the correct repo;\n you've checked"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 536,
"preview": "blank_issues_enabled: false\n\ncontact_links:\n - name: Questions\n url: https://discord.gg/megamek\n about: If you ha"
},
{
"path": ".github/ISSUE_TEMPLATE/request_for_enhancement.yml",
"chars": 2494,
"preview": "name: \"Request for Enhancement\"\ndescription: >\n Request an enhancement for MekHQ. Be sure you've confirmed it's not a d"
},
{
"path": ".github/codecov.yml",
"chars": 353,
"preview": "# CodeCov.io Configuration\n# https://docs.codecov.io/docs/codecovyml-reference\ncoverage:\n status:\n project:\n de"
},
{
"path": ".github/dependabot.yml",
"chars": 324,
"preview": "# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping"
},
{
"path": ".github/workflows/checkstyle.yml",
"chars": 3138,
"preview": "name: Checkstyle\n\non:\n pull_request:\n branches: [ main ]\n\njobs:\n checkstyle:\n runs-on: ${{ matrix.os }}\n\n out"
},
{
"path": ".github/workflows/ci.yml",
"chars": 5129,
"preview": "name: MekHQ CI with Gradle\n\non:\n pull_request:\n branches: [ main ]\n\nenv:\n GRADLE_OPTS: \"-Dscan.link.VCS=${{ github."
},
{
"path": ".github/workflows/code-coverage.yml",
"chars": 1888,
"preview": "name: MekHQ CI with Code Coverage\n\non:\n push:\n branches: [ main ]\n\nenv:\n GRADLE_OPTS: \"-Dscan.link.VCS=https://gith"
},
{
"path": ".github/workflows/codeql-analysis.yml",
"chars": 3816,
"preview": "name: \"CodeQL\"\n\npermissions:\n security-events: write\n contents: read\n actions: read\n\non:\n push:\n branches: [ main"
},
{
"path": ".github/workflows/dependency-scan.yml",
"chars": 1190,
"preview": "name: Gradle Dependency Submission\n\non:\n push:\n branches:\n - main\n\njobs:\n dependency-submission:\n runs-on: "
},
{
"path": ".github/workflows/java-doc-pr.yml",
"chars": 2940,
"preview": "name: JavaDoc Generation\n\non:\n pull_request:\n branches: [ main ]\n\nenv:\n GRADLE_OPTS: \"-Dscan.link.VCS=${{ github.ev"
},
{
"path": ".github/workflows/java-doc.yml",
"chars": 1843,
"preview": "name: JavaDoc Generation\n\non:\n push:\n branches: [ \"main\" ]\n\n workflow_dispatch:\n\n# Sets permissions of the GITHUB_T"
},
{
"path": ".github/workflows/nightly-ci.yml",
"chars": 3347,
"preview": "name: MekHQ Nightly CI\n\non:\n workflow_dispatch:\n schedule:\n - cron: \"0 3 * * *\"\n\nenv:\n GRADLE_OPTS: \"-Dscan.link.V"
},
{
"path": ".gitignore",
"chars": 1544,
"preview": "# These are all in alphabetical file system display order\n/.claude/\n/.gradle/\n/.idea/\n/.recommenders/\n/.settings/\n/bin/\n"
},
{
"path": ".mailmap",
"chars": 2866,
"preview": "Adam Brant <adam.brant@gmail.com> Adam Brant <31824363+LaserEye32@users.noreply.github.com>\nAkjosch <development@akjosch"
},
{
"path": "CODEOWNERS",
"chars": 17,
"preview": "* @MegaMek/mekhq\n"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 5482,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
},
{
"path": "CONTRIBUTORS.md",
"chars": 4666,
"preview": "# Authors and Contributors\n\nWe are grateful for all the contributions we have received over the years and wanted to make"
},
{
"path": "LICENSE",
"chars": 4256,
"preview": "# MekHQ Licensing Information\n\nThis document provides detailed information about the licensing of the MekHQ project.\n\n##"
},
{
"path": "LICENSE.assets",
"chars": 20837,
"preview": "Attribution-NonCommercial-ShareAlike 4.0 International\n\n================================================================"
},
{
"path": "LICENSE.code",
"chars": 35149,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
},
{
"path": "MHQMorale-Simulation-Analysis.txt",
"chars": 15568,
"preview": "================================================================================\nMHQMorale Logic Error Analysis - Simula"
},
{
"path": "MekHQ/SubmitBug.html",
"chars": 1848,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n <title>How to submit a MekHQ bug</title>\n</head>\n\n<body>\n<h1>How to submit "
},
{
"path": "MekHQ/build.gradle",
"chars": 16230,
"preview": "import java.time.LocalDateTime\n\nplugins {\n id 'application'\n id 'com.palantir.git-version' version '5.0.0'\n id "
},
{
"path": "MekHQ/campaigns/archive/Fist and Falcon/Binary Bravo, 1st Falcon Strikers.cpnx",
"chars": 323990,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<campaign version=\"0.47.15\">\n\t<info>\n\t\t<id>ba1ebe6c-0312-4891-8ac8-e893de7f3c81</"
},
{
"path": "MekHQ/campaigns/archive/Fist and Falcon/Kewran Wolfhounds, C Company, 3rd Battalion, 25th Arcturan Guards RCT.cpnx",
"chars": 366484,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<campaign version=\"0.47.15\">\n\t<info>\n\t\t<id>3ef62f87-f16b-4ad2-b25b-d1376051e6c8</"
},
{
"path": "MekHQ/campaigns/archive/Sword and Dragon/Fox's Teeth, McKinnon's Company, Vausur's Battalion, Seventh Crucis Lancers RCT.cpnx",
"chars": 338055,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<campaign version=\"0.47.15\">\n\t<info>\n\t\t<id>a265f64c-de5d-4247-a2c2-a407e20d1499</"
},
{
"path": "MekHQ/campaigns/archive/Sword and Dragon/Sorenson Sabres, Jisatsu Company, Otomo, formerly Third Company, Tarwater's Battalion, Fifth Sword of Light.cpnx",
"chars": 336453,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<campaign version=\"0.47.15\">\n\t<info>\n\t\t<id>0627bc68-755c-4c58-960b-420071ffec68</"
},
{
"path": "MekHQ/campaigns/archive/Wolf and Blake/Black Widow Company, Church's Independent Company, Wolf's Dragoons.cpnx",
"chars": 341809,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<campaign version=\"0.47.15\">\n\t<info>\n\t\t<id>9a67fd69-a692-4ba7-af8f-41c6b36c42ce</"
},
{
"path": "MekHQ/campaigns/archive/Wolf and Blake/Shadow Hunters, Opacus Venatori, Fifty-second Shadow Division.cpnx",
"chars": 352614,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<campaign version=\"0.47.15\">\n\t<info>\n\t\t<id>7a1c9086-368f-4c66-90ec-b16459e1c77d</"
},
{
"path": "MekHQ/config/checkstyle/checkstyle.xml",
"chars": 22661,
"preview": "<?xml version=\"1.0\"?>\n<!DOCTYPE module PUBLIC \"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN\" \"https://checkstyle."
},
{
"path": "MekHQ/config/checkstyle/suppressions.xml",
"chars": 0,
"preview": ""
},
{
"path": "MekHQ/docs/SarnaCartographyImport.md",
"chars": 1628,
"preview": "# How to import planet data from the Sarna Cartography excel files.\n\n1. Take the \"Systems\" tab of the \"Systems by Era\"sp"
},
{
"path": "MekHQ/docs/Scenario Template Editor.html",
"chars": 9818,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <title>Scenario Template Editor</title>\n</head>\n<body>\n<h1>Scenario Template"
},
{
"path": "MekHQ/docs/StratCon/Custom RATs.txt",
"chars": 3361,
"preview": "In order for the Against the Bot campaign system to be able to use custom random assignment tables (RATs), you will need"
},
{
"path": "MekHQ/docs/StratCon/Stratcon_Tips.md",
"chars": 1837,
"preview": "# StartCon Tips\n\n1) Leadership lets you bring extra auxiliary units for free (where an \"auxiliary unit\" is any unit of a"
},
{
"path": "MekHQ/docs/StratCon/stratcon-faq-2.6.md",
"chars": 29088,
"preview": "# StratCon reference and FAQ (v2.6 - September 1, 2024).\n\n## BASICS AND SETUP\n\n**Double-check your Java version!** You "
},
{
"path": "MekHQ/docs/UserDirHelp.html",
"chars": 4232,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head><title>User Directory Help</title></head>\n<body>\n<H1>How to Use the User Data Dir"
},
{
"path": "MekHQ/docs/Windchilds Guides/Windchilds_Guide_to_Force_Icons.txt",
"chars": 2787,
"preview": "Windchild's Guide to Force Icons (Unfinished - Will Finish With the Other AbstractIcon docs)\nWritten 07-Nov-2021\nMekHQ v"
},
{
"path": "MekHQ/docs/Windchilds Guides/Windchilds_Guide_to_MekHQ_Portrait_Generation.txt",
"chars": 5277,
"preview": "Windchild's Guide to Loading Portraits in MekHQ\nWritten 08-Feb-2020, Updated 05-Aug-2020, 01-Nov-2021.\nMekHQ version 0.4"
},
{
"path": "MekHQ/docs/Windchilds Guides/Windchilds_Guide_to_Ranks.txt",
"chars": 7797,
"preview": "Windchild's Guide to Ranks in MekHQ\nWritten 25-Mar-2021, updated 01-Nov-2021\nMekHQ version 0.49.5\n\nHow Rank.xml Loading "
},
{
"path": "MekHQ/docs/advanced_medical_overview.md",
"chars": 1317,
"preview": "# (Unofficial) Advanced Medical\n\nAdvanced Medical (AM) is intended to replace the standard BattleTech method of dealing "
},
{
"path": "MekHQ/docs/custom_spa.md",
"chars": 2801,
"preview": "# Custom SPAs\n\nMekHQ supports unofficial extensions to the SPA (special pilot abilities) system used in MegaMek. This al"
},
{
"path": "MekHQ/docs/help/en/AutoResolve.html",
"chars": 5165,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <title>Auto Resolve</title>\n</head>\n<body>\n <d"
},
{
"path": "MekHQ/docs/history.txt",
"chars": 518886,
"preview": "MEKHQ VERSION HISTORY:\n---------------\n0.50.13\n\n0.50.12 (2026-03-28 2100 UTC)\n## What's Changed\n* Fix #8614: Prevent a f"
},
{
"path": "MekHQ/docs/long-term-injury.md",
"chars": 5100,
"preview": "# Long-Term Effects of Injuries on Mortality Rates\n\n## Technical Specification\n\n## 1. Base Concept\n\nAfter recovery from "
},
{
"path": "MekHQ/docs/scenariomodifiers.md",
"chars": 1862,
"preview": "# Scenario Modifiers\n\n- `modifierName` - name of the modifier, intended to be displayed in the various modifier dropdown"
},
{
"path": "MekHQ/mmconf/customWeaponOrder.xml",
"chars": 66,
"preview": "<?xml version=\"1.0\"?>\n<customWeaponOrders>\n\n</customWeaponOrders>\n"
},
{
"path": "MekHQ/mmconf/defaultKeyBinds.xml",
"chars": 17165,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<KeyBindings xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespac"
},
{
"path": "MekHQ/mmconf/defaultQuirks.xml",
"chars": 54545,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<defaultQuirks xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n xsi:noN"
},
{
"path": "MekHQ/mmconf/defaultQuirksSchema.xsl",
"chars": 2183,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" elementFormDefault=\"quali"
},
{
"path": "MekHQ/mmconf/defaultSkin.xml",
"chars": 2236,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/keyBindingSchema.xsd",
"chars": 1257,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!-- Schema for defining keyboard shortcuts in Megamek -->\n<xs:schema xmlns:xs=\""
},
{
"path": "MekHQ/mmconf/log4j2.xml",
"chars": 3756,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Configuration status=\"info\">\n <Properties>\n <Property name=\"layout\">%d"
},
{
"path": "MekHQ/mmconf/milestoneReleases.yml",
"chars": 807,
"preview": "# This file should NOT be edited by non-developers.\n# It WILL brick your game, and it won't be immediately obvious until"
},
{
"path": "MekHQ/mmconf/non_combat_units_list.conf",
"chars": 2422,
"preview": "; The purpose of this file is to maintain a list of non-combat units. Non-combat units will not checked for weapon\n; ra"
},
{
"path": "MekHQ/mmconf/princessBehaviors.xml",
"chars": 7615,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<princessBehaviors>\n <behavior>\n <name>Skirmisher (pPT)</name>\n <destinati"
},
{
"path": "MekHQ/mmconf/skinSchema.xsl",
"chars": 1290,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<!-- Schema for defining images and colors to be used for different UI elements "
},
{
"path": "MekHQ/mmconf/skins/BW - Capellan Confederation.xml",
"chars": 8973,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Circinus Federation.xml",
"chars": 8928,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Blood Spirit.xml",
"chars": 8898,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Burrock.xml",
"chars": 8823,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Cloud Cobra.xml",
"chars": 8883,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Coyote.xml",
"chars": 8808,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Diamond Shark.xml",
"chars": 8913,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Fire Mandrill.xml",
"chars": 8913,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Ghost Bear.xml",
"chars": 8868,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Goliath Scorpion.xml",
"chars": 8958,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Hell's Horses.xml",
"chars": 8913,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Ice Hellion.xml",
"chars": 8749,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Jade Falcon.xml",
"chars": 8883,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Mongoose.xml",
"chars": 8838,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Nova Cat.xml",
"chars": 8749,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Sea Fox.xml",
"chars": 8823,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Smoke Jaguar.xml",
"chars": 8898,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Snow Raven.xml",
"chars": 8868,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Star Adder.xml",
"chars": 8868,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Steel Viper.xml",
"chars": 8883,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Widowmaker.xml",
"chars": 8868,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Wolf.xml",
"chars": 8778,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Clan Wolverine.xml",
"chars": 8853,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - ComStar.xml",
"chars": 8753,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Default.xml",
"chars": 8748,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Draconis Combine.xml",
"chars": 8883,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Eridani Light Horse.xml",
"chars": 8751,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Federated Commonwealth.xml",
"chars": 8973,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Federated Suns.xml",
"chars": 8853,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Free Rasalhague Republic.xml",
"chars": 9003,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Free Worlds League.xml",
"chars": 8913,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Gray Death Legion.xml",
"chars": 8751,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Kell Hounds.xml",
"chars": 8750,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Lyran Alliance.xml",
"chars": 8853,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Lyran Commonwealth.xml",
"chars": 8913,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Magistracy of Canopus.xml",
"chars": 8958,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Marian Hegemony.xml",
"chars": 8868,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - McCarron's Armored Calvary.xml",
"chars": 8751,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Mercenary 3052.xml",
"chars": 8756,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Mercenary.xml",
"chars": 8752,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Northwind Highlanders.xml",
"chars": 8750,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Oberon Confederation.xml",
"chars": 8943,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Outworlds Alliance.xml",
"chars": 8913,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Rim Worlds Republic.xml",
"chars": 8928,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Snord's Irregulars.xml",
"chars": 8750,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - St Ives Compact.xml",
"chars": 8868,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Star League.xml",
"chars": 8808,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Taurian Concordat.xml",
"chars": 10464,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Terran Hegemony.xml",
"chars": 8748,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Wolf's Dragoons.xml",
"chars": 8750,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/BW - Word of Blake.xml",
"chars": 8838,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/defaultSkin.xml",
"chars": 7828,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/defaultSkinScrollBars.xml",
"chars": 7874,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/plainSkin.xml",
"chars": 2045,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/mmconf/skins/plainSkinScrollBars.xml",
"chars": 2170,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--\n This is the default skin for Megamek\n\n New skins can be created by specif"
},
{
"path": "MekHQ/resources/META-INF/services/mekhq.module.api.PersonnelMarketMethod",
"chars": 1512,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/log4j2.component.properties",
"chars": 1295,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ATOWLegalityRating.properties",
"chars": 1575,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/AbortingResolveScenarioWizard.properties",
"chars": 2020,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AbstractProcreation.properties",
"chars": 3281,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AcquisitionsType.properties",
"chars": 1491,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/AddFundsDialog.properties",
"chars": 1503,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AddOrEditKillEntryDialog.properties",
"chars": 1472,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AddOrEditScenarioEntryDialog.properties",
"chars": 1364,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AdvancedMedicalAlternateHealing.properties",
"chars": 1554,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/AdvancedReplacementLimbDialog.properties",
"chars": 3757,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/AdvancedScoutingCampaignOptionsChangedConfirmationDialog.properties",
"chars": 1928,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/Aggression.properties",
"chars": 84403,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AgingMilestone.properties",
"chars": 1669,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AlertPopup.properties",
"chars": 1270,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AltAdvancedMedicalCampaignOptionsChangedConfirmationDialog.properties",
"chars": 3178,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/AlternateInjuries.properties",
"chars": 14230,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/Ambition.properties",
"chars": 89642,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ApplicantTableColumns.properties",
"chars": 1541,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/Appraisal.properties",
"chars": 2411,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/AssignForceToTransport.properties",
"chars": 5693,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AtBConfigDefaults.properties",
"chars": 2674,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AtBContract.properties",
"chars": 4074,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AtBDynamicScenarioFactory.properties",
"chars": 1732,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AtBScenarioBuiltIn.properties",
"chars": 13153,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AtBScenarioViewPanel.properties",
"chars": 1814,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AtBStratCon.properties",
"chars": 8571,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AtbMonthlyContractMarket.properties",
"chars": 1743,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/AttributeCheckUtility.properties",
"chars": 2058,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AutoAwardsDialog.properties",
"chars": 2055,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AutoResolveBehaviorSettingsDialog.properties",
"chars": 1554,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AutoResolveBehaviorSettingsDialog_en.properties",
"chars": 1554,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/AutomatedTechAssignments.properties",
"chars": 1675,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/BatchXPDialog.properties",
"chars": 1696,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/BirthAnnouncement.properties",
"chars": 23880,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/BloodGroup.properties",
"chars": 1546,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/Bloodmark.properties",
"chars": 2024,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/BoardScalingType.properties",
"chars": 1445,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/CamOpsReputation.properties",
"chars": 3357,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CamOpsSalvage.properties",
"chars": 5492,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/Campaign.properties",
"chars": 16438,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignExportWizard.properties",
"chars": 2745,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignGUI.properties",
"chars": 22068,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignHasProblemOnLoad.properties",
"chars": 2684,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignOptionsDialog.properties",
"chars": 149430,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignOptionsPresetPicker.properties",
"chars": 2152,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignSummary.properties",
"chars": 1646,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignUpgradeDialog.properties",
"chars": 3328,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CampaignXmlParser.properties",
"chars": 2607,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/ChooseFactionsDialog.properties",
"chars": 1311,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ChooseMulFilesDialog.properties",
"chars": 1528,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ChooseRefitDialog.properties",
"chars": 1510,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ComingOfAgeAnnouncement.properties",
"chars": 51038,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CommandersDayAnnouncement.properties",
"chars": 25783,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ContractAutomation.properties",
"chars": 3991,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ContractMarketDialog.properties",
"chars": 10162,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ContractPaymentBreakdown.properties",
"chars": 2042,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/ContractViewPanel.properties",
"chars": 7202,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CreateCharacterDialog.properties",
"chars": 2818,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CurrentLocation.properties",
"chars": 8571,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CustomizeBotForceDialog.properties",
"chars": 3832,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CustomizeMissionDialog.properties",
"chars": 1450,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CustomizePersonDialog.properties",
"chars": 2577,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CustomizeScenarioDialog.properties",
"chars": 3467,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/CustomizeScenarioObjectiveDialog.properties",
"chars": 1797,
"preview": "# Copyright (C) 2005-2026 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/DailyReportType.properties",
"chars": 2520,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/DateChooser.properties",
"chars": 27838,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/DiminishingReturnsCampaignOptionsChangedConfirmationDialog.properties",
"chars": 2700,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/DiplomacyReport.properties",
"chars": 1683,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/DiplomacyType.properties",
"chars": 1578,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/DiscretionarySpending.properties",
"chars": 2004,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/DocumentationEntry.properties",
"chars": 2235,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EasyBugReport.properties",
"chars": 3441,
"preview": "# Copyright (C) 2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free software: "
},
{
"path": "MekHQ/resources/mekhq/resources/EditAssetDialog.properties",
"chars": 1544,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditDeploymentDialog.properties",
"chars": 1624,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditInjuryEntryDialog.properties",
"chars": 1315,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditKillLogControl.properties",
"chars": 1423,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditKillLogDialog.properties",
"chars": 1326,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditMapSettingsDialog.properties",
"chars": 1428,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditPersonnelHitsDialog.properties",
"chars": 1316,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditPersonnelInjuriesDialog.properties",
"chars": 1374,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditPersonnelLogControl.properties",
"chars": 1441,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditPersonnelLogDialog.properties",
"chars": 1339,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditScenarioDeploymentLimitsDialog.properties",
"chars": 1509,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditScenarioLogControl.properties",
"chars": 1447,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
},
{
"path": "MekHQ/resources/mekhq/resources/EditScenarioLogDialog.properties",
"chars": 1337,
"preview": "# Copyright (C) 2005-2025 The MegaMek Team. All Rights Reserved.\n#\n# This file is part of MekHQ.\n#\n# MekHQ is free softw"
}
]
// ... and 1742 more files (download for full content)
About this extraction
This page contains the full source code of the MegaMek/mekhq GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1942 files (27.1 MB), approximately 7.2M tokens, and a symbol index with 24643 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.