Skip to content

Commit b664a0f

Browse files
authored
Merge pull request #7293 from IllianiBird/factionStandingMercenaryOrgLabels
Improvement: Added Missing Unique Faction Standing Labels for the Four Mercenary Organizations
2 parents 6c43040 + f9ec789 commit b664a0f

File tree

4 files changed

+168
-32
lines changed

4 files changed

+168
-32
lines changed

MekHQ/resources/mekhq/resources/FactionStandings.properties

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ campaignOptionsChanged.description.disabled=You have just disabled <b>Faction St
8282
<p>{0}<b>Warning</b>:{1} This is a <b>permanent</b> change that <b>cannot be undone</b>.</p>
8383
# STANDING LEVELS
8484
## Standing Effects
85+
factionStandingLevel.pirateOrMercenary=This faction does not confer bonuses or penalties.
8586
factionStandingLevel.negotiation=Contract Negotiations ({0})
8687
factionStandingLevel.resupply=Resupply Sizes ({0}%)
8788
factionStandingLevel.commandCircuit=COMMAND CIRCUIT ACCESS GRANTED
@@ -159,6 +160,15 @@ factionStandingLevel.STANDING_LEVEL_0.WOB.description=Declared beyond salvation.
159160
factionStandingLevel.STANDING_LEVEL_0.clan.label=An Enemy of the Clan
160161
factionStandingLevel.STANDING_LEVEL_0.clan.description=Branded as a threat to the Clan way of life. Destruction is the\
161162
\ only sentence.
163+
### Mercenary Organizations
164+
factionStandingLevel.STANDING_LEVEL_0.MG.label=Blacklisted
165+
factionStandingLevel.STANDING_LEVEL_0.MG.description=No reputable employer will touch you.
166+
factionStandingLevel.STANDING_LEVEL_0.MRB.label=Expunged
167+
factionStandingLevel.STANDING_LEVEL_0.MRB.description=You are barred from legitimate contracts.
168+
factionStandingLevel.STANDING_LEVEL_0.MRBC.label=Blacklisted
169+
factionStandingLevel.STANDING_LEVEL_0.MRBC.description=No one will touch you. You're on your own now.
170+
factionStandingLevel.STANDING_LEVEL_0.MBA.label=Contract Null
171+
factionStandingLevel.STANDING_LEVEL_0.MBA.description=Your bonds are void. Your unit is blacklisted.
162172
## STANDING_LEVEL_1
163173
### Inner Sphere
164174
factionStandingLevel.STANDING_LEVEL_1.innerSphere.label=Reviled
@@ -222,6 +232,16 @@ factionStandingLevel.STANDING_LEVEL_1.WOB.description=You profane Blake with you
222232
### Clan
223233
factionStandingLevel.STANDING_LEVEL_1.clan.label=Dezgra
224234
factionStandingLevel.STANDING_LEVEL_1.clan.description=True scum unworthy of social or battle honors.
235+
### Mercenary Organizations
236+
factionStandingLevel.STANDING_LEVEL_1.MG.label=Sanctioned
237+
factionStandingLevel.STANDING_LEVEL_1.MG.description=Guild officials watch your every move for further violations.
238+
factionStandingLevel.STANDING_LEVEL_1.MRB.label=Under Investigation
239+
factionStandingLevel.STANDING_LEVEL_1.MRB.description=Official reprimands are on file. Most employers avoid association.
240+
factionStandingLevel.STANDING_LEVEL_1.MRBC.label=Barely Bondable
241+
factionStandingLevel.STANDING_LEVEL_1.MRBC.description=Your word's worth nothing. Clients require triple insurance - \
242+
if they bother hiring you at all.
243+
factionStandingLevel.STANDING_LEVEL_1.MBA.label=Debtor-Grade
244+
factionStandingLevel.STANDING_LEVEL_1.MBA.description=Your performance carries loss and liability. Monitoring is active.
225245
## STANDING_LEVEL_2
226246
### Inner Sphere
227247
factionStandingLevel.STANDING_LEVEL_2.innerSphere.label=Notorious
@@ -285,6 +305,17 @@ factionStandingLevel.STANDING_LEVEL_2.WOB.description=You spurn the Word. The Or
285305
factionStandingLevel.STANDING_LEVEL_2.clan.label=Disgraced
286306
factionStandingLevel.STANDING_LEVEL_2.clan.description=You are remembered only for your insults. No warrior will honor\
287307
\ your name.
308+
### Mercenary Organizations
309+
factionStandingLevel.STANDING_LEVEL_2.MG.label=Unreliable
310+
factionStandingLevel.STANDING_LEVEL_2.MG.description=Employers are warned to proceed with caution.
311+
factionStandingLevel.STANDING_LEVEL_2.MRB.label=Flagged for Risk
312+
factionStandingLevel.STANDING_LEVEL_2.MRB.description=Your record contains red flags. You operate on probation.
313+
factionStandingLevel.STANDING_LEVEL_2.MRBC.label=F
314+
factionStandingLevel.STANDING_LEVEL_2.MRBC.description=The MRBC keeps your file, but sponsors won't vouch for you. \
315+
Tread carefully.
316+
factionStandingLevel.STANDING_LEVEL_2.MBA.label=Marginal Partner
317+
factionStandingLevel.STANDING_LEVEL_2.MBA.description=You deliver inconsistent outcomes and disrupt market \
318+
expectations. All contracts require oversight.
288319
## STANDING_LEVEL_3
289320
### Inner Sphere
290321
factionStandingLevel.STANDING_LEVEL_3.innerSphere.label=Distrusted
@@ -347,6 +378,18 @@ factionStandingLevel.STANDING_LEVEL_3.WOB.description=Beware, the Eye of Blake n
347378
factionStandingLevel.STANDING_LEVEL_3.clan.label=Unworthy
348379
factionStandingLevel.STANDING_LEVEL_3.clan.description=Viewed as lacking the steel of a true warrior. Barely tolerated,\
349380
\ easily discarded.
381+
### Mercenary Organizations
382+
factionStandingLevel.STANDING_LEVEL_3.MG.label=Questionable
383+
factionStandingLevel.STANDING_LEVEL_3.MG.description=Your reputation raises eyebrows. Expect short leashes and \
384+
limited trust.
385+
factionStandingLevel.STANDING_LEVEL_3.MRB.label=Conditional Status
386+
factionStandingLevel.STANDING_LEVEL_3.MRB.description=You are recognized by the MRB but lack a consistent track \
387+
record. Access to sensitive contracts is restricted pending further evaluation.
388+
factionStandingLevel.STANDING_LEVEL_3.MRBC.label=D
389+
factionStandingLevel.STANDING_LEVEL_3.MRBC.description=You're on the books, but barely. You're not trusted with \
390+
anything important.
391+
factionStandingLevel.STANDING_LEVEL_3.MBA.label=Provisional Clearance
392+
factionStandingLevel.STANDING_LEVEL_3.MBA.description=Cleared for low-value engagements.
350393
## STANDING_LEVEL_4 (neutral)
351394
### Inner Sphere
352395
factionStandingLevel.STANDING_LEVEL_4.innerSphere.label=Unknown
@@ -408,6 +451,18 @@ factionStandingLevel.STANDING_LEVEL_4.WOB.description=You walk in darkness, neit
408451
factionStandingLevel.STANDING_LEVEL_4.clan.label=Unproven
409452
factionStandingLevel.STANDING_LEVEL_4.clan.description=No blood, no honor, no record. You are nothing until tested in\
410453
\ combat.
454+
### Mercenary Organizations
455+
factionStandingLevel.STANDING_LEVEL_4.MG.label=Unproven
456+
factionStandingLevel.STANDING_LEVEL_4.MG.description=A blank slate in the eyes of the Guild.
457+
factionStandingLevel.STANDING_LEVEL_4.MRB.label=Registered
458+
factionStandingLevel.STANDING_LEVEL_4.MRB.description=Your unit is officially recorded with no major infractions. You\
459+
\ are eligible for standard contracts without restriction.
460+
factionStandingLevel.STANDING_LEVEL_4.MRBC.label=C
461+
factionStandingLevel.STANDING_LEVEL_4.MRBC.description=No major black marks, no medals either. You'll get a contract \
462+
- just don't expect the good ones yet.
463+
factionStandingLevel.STANDING_LEVEL_4.MBA.label=Contract Eligible
464+
factionStandingLevel.STANDING_LEVEL_4.MBA.description=You meet minimum standards. Your unit holds neutral economic \
465+
value. Contract allocation is algorithmic - no favor, no prejudice.
411466
## STANDING_LEVEL_5
412467
### Inner Sphere
413468
factionStandingLevel.STANDING_LEVEL_5.innerSphere.label=An Acknowledged Asset
@@ -471,6 +526,18 @@ factionStandingLevel.STANDING_LEVEL_5.WOB.description=You serve the Word with co
471526
factionStandingLevel.STANDING_LEVEL_5.clan.label=Proven
472527
factionStandingLevel.STANDING_LEVEL_5.clan.description=You have shown you can fight. The Clan grants you cautious\
473528
\ recognition.
529+
### Mercenary Organizations
530+
factionStandingLevel.STANDING_LEVEL_5.MG.label=Active
531+
factionStandingLevel.STANDING_LEVEL_5.MG.description=You are a known unit in good standing.
532+
factionStandingLevel.STANDING_LEVEL_5.MRB.label=Certified Reliable
533+
factionStandingLevel.STANDING_LEVEL_5.MRB.description=Your service record shows contract fulfillment with minimal \
534+
issues. The MRB considers you a dependable option.
535+
factionStandingLevel.STANDING_LEVEL_5.MRBC.label=B
536+
factionStandingLevel.STANDING_LEVEL_5.MRBC.description=You get the job done, and you don't make waves. Contract \
537+
liaisons start remembering your name - and not with a curse.
538+
factionStandingLevel.STANDING_LEVEL_5.MBA.label=Trusted Commodity
539+
factionStandingLevel.STANDING_LEVEL_5.MBA.description=You are a dependable variable. Mid-tier employers compete for \
540+
your loyalty.
474541
## STANDING_LEVEL_6
475542
### Inner Sphere
476543
factionStandingLevel.STANDING_LEVEL_6.innerSphere.label=A Trusted Operator
@@ -533,6 +600,18 @@ factionStandingLevel.STANDING_LEVEL_6.WOB.description=You act with purpose and o
533600
factionStandingLevel.STANDING_LEVEL_6.clan.label=Respected
534601
factionStandingLevel.STANDING_LEVEL_6.clan.description=You have earned respect. Warriors accept you as a worthy combat\
535602
\ partner.
603+
### Mercenary Organizations
604+
factionStandingLevel.STANDING_LEVEL_6.MG.label=Trusted
605+
factionStandingLevel.STANDING_LEVEL_6.MG.description=Your unit delivers consistent results. The Guild recommends \
606+
your services.
607+
factionStandingLevel.STANDING_LEVEL_6.MRB.label=Cleared for Priority Assignments
608+
factionStandingLevel.STANDING_LEVEL_6.MRB.description=You are approved for high-value contracts. MRB liaisons track \
609+
your unit's performance as a benchmark for compliance.
610+
factionStandingLevel.STANDING_LEVEL_6.MRBC.label=A
611+
factionStandingLevel.STANDING_LEVEL_6.MRBC.description=Clients with real targets and real pay are taking an interest.
612+
factionStandingLevel.STANDING_LEVEL_6.MBA.label=Strategic Asset
613+
factionStandingLevel.STANDING_LEVEL_6.MBA.description=You generate consistent returns. Your bonds are sought and your \
614+
profile is regularly praised.
536615
## STANDING_LEVEL_7
537616
### Inner Sphere
538617
factionStandingLevel.STANDING_LEVEL_7.innerSphere.label=A Favored Ally
@@ -595,6 +674,19 @@ factionStandingLevel.STANDING_LEVEL_7.WOB.description=Your faith in the Word is
595674
factionStandingLevel.STANDING_LEVEL_7.clan.label=Honored
596675
factionStandingLevel.STANDING_LEVEL_7.clan.description=Warriors gain status by facing you in combat. Your skills are\
597676
\ recognized by all in the Clan.
677+
### Mercenary Organizations
678+
factionStandingLevel.STANDING_LEVEL_7.MG.label=Distinguished
679+
factionStandingLevel.STANDING_LEVEL_7.MG.description=You are a model of professional conduct. The Guild highlights \
680+
you as a benchmark for mercenary reliability.
681+
factionStandingLevel.STANDING_LEVEL_7.MRB.label=Fully Endorsed
682+
factionStandingLevel.STANDING_LEVEL_7.MRB.description=ComStar arbitration services cite your unit as a model of \
683+
contract execution and ethical conduct. Priority postings are routinely offered.
684+
factionStandingLevel.STANDING_LEVEL_7.MRBC.label=A*
685+
factionStandingLevel.STANDING_LEVEL_7.MRBC.description=You've seen the meat grinder and walked out the other side. \
686+
The MRBC backs you, and green units want to learn from you.
687+
factionStandingLevel.STANDING_LEVEL_7.MBA.label=Venerated Contractor
688+
factionStandingLevel.STANDING_LEVEL_7.MBA.description=You are spoken of in quarterly briefs. Your efficiency serves \
689+
Clan Sea Fox and is an extension of their honor.
598690
## STANDING_LEVEL_8
599691
### Inner Sphere
600692
factionStandingLevel.STANDING_LEVEL_8.innerSphere.label=A Champion of the Realm
@@ -658,6 +750,19 @@ factionStandingLevel.STANDING_LEVEL_8.WOB.description=Your words carry divine au
658750
factionStandingLevel.STANDING_LEVEL_8.clan.label=A Vision of Kerensky
659751
factionStandingLevel.STANDING_LEVEL_8.clan.description=The Clans speak of you as embodying the ideals of the founder.\
660752
\ Your tactics are studied by all.
753+
### Mercenary Organizations
754+
factionStandingLevel.STANDING_LEVEL_8.MG.label=Gold Star Command
755+
factionStandingLevel.STANDING_LEVEL_8.MG.description=Your name is synonymous with success and integrity. The Guild \
756+
offers you its most sensitive, high-stakes contracts.
757+
factionStandingLevel.STANDING_LEVEL_8.MRB.label=Exemplary Status
758+
factionStandingLevel.STANDING_LEVEL_8.MRB.description=Your reputation precedes you. The MRB archives your record as a\
759+
\ case study in professional excellence. Employers compete for your service.
760+
factionStandingLevel.STANDING_LEVEL_8.MRBC.label=Living Legend
761+
factionStandingLevel.STANDING_LEVEL_8.MRBC.description=You're the standard. The Wolf's Dragoons themselves speak your \
762+
name with respect.
763+
factionStandingLevel.STANDING_LEVEL_8.MBA.label=Exemplar of Profit and Purpose
764+
factionStandingLevel.STANDING_LEVEL_8.MBA.description=You embody the ideal synthesis of combat efficacy and economic \
765+
utility.
661766
# STANDING CHANGES
662767
factionStandings.change.report=Your <b>Standing</b> with {0} has {1}<b>{2}</b>{3} by {4} <b>Regard</b>. {5}
663768
factionStandings.change.report.milestone.new=You are now {0}<b>{1}</b>{2}.

MekHQ/src/mekhq/campaign/universe/factionStanding/FactionStandingLevel.java

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import megamek.logging.MMLogger;
4545
import mekhq.campaign.CampaignOptions;
4646
import mekhq.campaign.universe.Faction;
47-
import mekhq.gui.dialog.factionStanding.FactionStandingReport;
4847

4948
/**
5049
* Represents a standing level within the Faction Standing reputation system.
@@ -410,39 +409,64 @@ public String getDescription(Faction relevantFaction) {
410409
}
411410

412411
/**
413-
* Use {@link #getEffectsDescription(boolean, CampaignOptions)} instead
412+
* Use {@link #getEffectsDescription(boolean, boolean, CampaignOptions)} instead
414413
*/
415414
@Deprecated(since = "0.50.07", forRemoval = true)
416415
public String getEffectsDescription() {
417-
return getEffectsDescription(false, new CampaignOptions());
416+
return getEffectsDescription(false, false, new CampaignOptions());
418417
}
419418

420419
/**
421-
* Generates a textual description of all effects based on the current faction standing modifiers.
420+
* Use {@link #getEffectsDescription(boolean, boolean, CampaignOptions)} instead
421+
*/
422+
@Deprecated(since = "0.50.07", forRemoval = true)
423+
public String getEffectsDescription(boolean isClan, CampaignOptions campaignOptions) {
424+
return getEffectsDescription(isClan, false, campaignOptions);
425+
}
426+
427+
/**
428+
* Generates a textual summary of all currently active effects resulting from faction standing modifiers.
422429
*
423-
* <p>This method inspects various modifiers (such as negotiation, resupply, command circuit access, outlaw status,
424-
* batchall permission, recruitment popularity, barracks cost, unit market rarity, contract pay, and support point
425-
* modifiers) and compiles their effects into a comma-separated string. Only effects that deviate from their default
426-
* values are included in the output.</p>
430+
* <p>This method evaluates a range of standing-related modifiers and permissions - including negotiation,
431+
* resupply, command circuit access, outlaw status, batchall rights, recruitment popularity and rolls, barracks
432+
* costs, unit market rarity, contract pay, and support point modifiers.</p>
427433
*
428-
* @return a comma-separated {@link String} listing all active faction standing effects; returns
429-
* an empty string if there are no effects.
434+
* <p>Only effects that differ from their default or neutral values, and that are allowed by the current
435+
* campaign options, are included in the output.</p>
436+
*
437+
* <p>Each effect is represented as a localized formatted string, and all applicable effects are concatenated
438+
* into a comma-separated result.</p>
439+
*
440+
* <p>The result provides a concise overview for the user or UI, listing only those standing effects that are
441+
* relevant for the given context (e.g., depending on whether the organization is a Clan or on available campaign
442+
* options).</p>
443+
*
444+
* @param isClan {@code true} if the organization being described is a Clan; enables consideration of
445+
* Clan-specific modifiers.
446+
* @param isPirateOrMercenaryOrganization {@code true} if the organization being described is a pirate
447+
* or mercenary organization
448+
* @param campaignOptions the current {@link CampaignOptions} that determine which standing effects are in use.
449+
* @return a comma-separated {@link String} listing all non-default, active faction standing effects;
450+
* returns an empty string if there are no applicable effects.
430451
*/
431-
public String getEffectsDescription(boolean isClan, CampaignOptions campaignOptions) {
432-
MMLogger logger = MMLogger.create(FactionStandingReport.class);
433-
logger.info(this);
452+
public String getEffectsDescription(boolean isClan, boolean isPirateOrMercenaryOrganization,
453+
CampaignOptions campaignOptions) {
454+
if (isPirateOrMercenaryOrganization) {
455+
return getTextAt(RESOURCE_BUNDLE, "factionStandingLevel.pirateOrMercenary");
456+
}
457+
434458
List<String> effects = new ArrayList<>();
435459

436460
if (hasCommandCircuitAccess && campaignOptions.isUseFactionStandingCommandCircuitSafe()) {
437-
effects.add(getFormattedTextAt(RESOURCE_BUNDLE, "factionStandingLevel.commandCircuit"));
461+
effects.add(getTextAt(RESOURCE_BUNDLE, "factionStandingLevel.commandCircuit"));
438462
}
439463

440464
if (isOutlawed && campaignOptions.isUseFactionStandingOutlawedSafe()) {
441-
effects.add(getFormattedTextAt(RESOURCE_BUNDLE, "factionStandingLevel.outlawed"));
465+
effects.add(getTextAt(RESOURCE_BUNDLE, "factionStandingLevel.outlawed"));
442466
}
443467

444468
if (isClan && !isBatchallAllowed && campaignOptions.isUseFactionStandingBatchallRestrictionsSafe()) {
445-
effects.add(getFormattedTextAt(RESOURCE_BUNDLE, "factionStandingLevel.batchall"));
469+
effects.add(getTextAt(RESOURCE_BUNDLE, "factionStandingLevel.batchall"));
446470
}
447471

448472
if (negotiationModifier != 0 && campaignOptions.isUseFactionStandingNegotiationSafe()) {

0 commit comments

Comments
 (0)