From 7380b9d421112d66a5d9226b9ed40dedb00ac4a4 Mon Sep 17 00:00:00 2001 From: IllianiCBT Date: Sun, 20 Oct 2024 18:45:24 -0500 Subject: [PATCH 1/3] Switch to ordinal for enum serialization and deserialization Replaced `toString()` with `ordinal()` for enum serialization in `Person.java`. Updated deserialization to handle both ordinal and string formats for backward compatibility. Ensured correct parsing and logging in related classes. --- .../src/mekhq/campaign/personnel/Person.java | 53 +- .../education/EducationController.java | 3 +- .../randomEvents/PersonalityController.java | 27 +- .../enums/personalities/Aggression.java | 66 +-- .../enums/personalities/Ambition.java | 66 +-- .../enums/personalities/Greed.java | 66 +-- .../enums/personalities/Intelligence.java | 148 +---- .../enums/personalities/PersonalityQuirk.java | 541 +++++------------- .../enums/personalities/Social.java | 187 +----- 9 files changed, 279 insertions(+), 878 deletions(-) diff --git a/MekHQ/src/mekhq/campaign/personnel/Person.java b/MekHQ/src/mekhq/campaign/personnel/Person.java index 934c25bc0a..91603a68df 100644 --- a/MekHQ/src/mekhq/campaign/personnel/Person.java +++ b/MekHQ/src/mekhq/campaign/personnel/Person.java @@ -2207,27 +2207,27 @@ public void writeToXML(final PrintWriter pw, int indent, final Campaign campaign } if (aggression != Aggression.NONE) { - MHQXMLUtility.writeSimpleXMLTag(pw, indent, "aggression", aggression.toString()); + MHQXMLUtility.writeSimpleXMLTag(pw, indent, "aggression", aggression.ordinal()); } if (ambition != Ambition.NONE) { - MHQXMLUtility.writeSimpleXMLTag(pw, indent, "ambition", ambition.toString()); + MHQXMLUtility.writeSimpleXMLTag(pw, indent, "ambition", ambition.ordinal()); } if (greed != Greed.NONE) { - MHQXMLUtility.writeSimpleXMLTag(pw, indent, "greed", greed.toString()); + MHQXMLUtility.writeSimpleXMLTag(pw, indent, "greed", greed.ordinal()); } if (social != Social.NONE) { - MHQXMLUtility.writeSimpleXMLTag(pw, indent, "social", social.toString()); + MHQXMLUtility.writeSimpleXMLTag(pw, indent, "social", social.ordinal()); } if (personalityQuirk != PersonalityQuirk.NONE) { - MHQXMLUtility.writeSimpleXMLTag(pw, indent, "personalityQuirk", personalityQuirk.toString()); + MHQXMLUtility.writeSimpleXMLTag(pw, indent, "personalityQuirk", personalityQuirk.ordinal()); } if (intelligence != Intelligence.AVERAGE) { - MHQXMLUtility.writeSimpleXMLTag(pw, indent, "intelligence", intelligence.toString()); + MHQXMLUtility.writeSimpleXMLTag(pw, indent, "intelligence", intelligence.ordinal()); } if (!StringUtility.isNullOrBlank(personalityDescription)) { @@ -2564,17 +2564,48 @@ public static Person generateInstanceFromXML(Node wn, Campaign c, Version versio } else if (wn2.getNodeName().equalsIgnoreCase("eduEducationTime")) { retVal.eduEducationTime = Integer.parseInt(wn2.getTextContent()); } else if (wn2.getNodeName().equalsIgnoreCase("aggression")) { - retVal.aggression = Aggression.parseFromString(wn2.getTextContent()); + try { + // <50.01 compatibility handler + retVal.aggression = Aggression.parseFromString(wn2.getTextContent()); + } catch (Exception e) { + retVal.aggression = Aggression.fromOrdinal(Integer.parseInt(wn2.getTextContent())); + } } else if (wn2.getNodeName().equalsIgnoreCase("ambition")) { - retVal.ambition = Ambition.parseFromString(wn2.getTextContent()); + try { + // <50.01 compatibility handler + retVal.ambition = Ambition.parseFromString(wn2.getTextContent()); + } catch (Exception e) { + retVal.ambition = Ambition.fromOrdinal(Integer.parseInt(wn2.getTextContent())); + } } else if (wn2.getNodeName().equalsIgnoreCase("greed")) { - retVal.greed = Greed.parseFromString(wn2.getTextContent()); + try { + // <50.01 compatibility handler + retVal.greed = Greed.parseFromString(wn2.getTextContent()); + } catch (Exception e) { + retVal.greed = Greed.fromOrdinal(Integer.parseInt(wn2.getTextContent())); + } } else if (wn2.getNodeName().equalsIgnoreCase("social")) { + try { + // <50.01 compatibility handler + retVal.social = Social.parseFromString(wn2.getTextContent()); + } catch (Exception e) { + retVal.social = Social.fromOrdinal(Integer.parseInt(wn2.getTextContent())); + } retVal.social = Social.parseFromString(wn2.getTextContent()); } else if (wn2.getNodeName().equalsIgnoreCase("personalityQuirk")) { - retVal.personalityQuirk = PersonalityQuirk.parseFromString(wn2.getTextContent()); + try { + // <50.01 compatibility handler + retVal.personalityQuirk = PersonalityQuirk.parseFromString(wn2.getTextContent()); + } catch (Exception e) { + retVal.personalityQuirk = PersonalityQuirk.fromOrdinal(Integer.parseInt(wn2.getTextContent())); + } } else if (wn2.getNodeName().equalsIgnoreCase("intelligence")) { - retVal.intelligence = Intelligence.parseFromString(wn2.getTextContent()); + try { + // <50.01 compatibility handler + retVal.intelligence = Intelligence.parseFromString(wn2.getTextContent()); + } catch (Exception e) { + retVal.intelligence = Intelligence.fromOrdinal(Integer.parseInt(wn2.getTextContent())); + } } else if (wn2.getNodeName().equalsIgnoreCase("personalityDescription")) { retVal.personalityDescription = wn2.getTextContent(); } else if (wn2.getNodeName().equalsIgnoreCase("clanPersonnel")) { diff --git a/MekHQ/src/mekhq/campaign/personnel/education/EducationController.java b/MekHQ/src/mekhq/campaign/personnel/education/EducationController.java index cc4fc58969..d5d3ffaf72 100644 --- a/MekHQ/src/mekhq/campaign/personnel/education/EducationController.java +++ b/MekHQ/src/mekhq/campaign/personnel/education/EducationController.java @@ -32,7 +32,6 @@ import mekhq.campaign.personnel.enums.PersonnelStatus; import mekhq.campaign.personnel.enums.education.EducationLevel; import mekhq.campaign.personnel.enums.education.EducationStage; -import mekhq.campaign.personnel.randomEvents.enums.personalities.Intelligence; import mekhq.utilities.ReportingUtilities; import java.time.DayOfWeek; @@ -1357,7 +1356,7 @@ private static void graduateChild(Campaign campaign, Person person, Academy acad } if (campaign.getCampaignOptions().isUseRandomPersonalities()) { - graduationRoll += Intelligence.parseToInt(person.getIntelligence()) - 12; + graduationRoll += person.getIntelligence().ordinal() - 12; } if (graduationRoll < 30) { diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/PersonalityController.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/PersonalityController.java index 8545ce0125..0e01987197 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/PersonalityController.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/PersonalityController.java @@ -19,24 +19,15 @@ package mekhq.campaign.personnel.randomEvents; -import static mekhq.campaign.personnel.randomEvents.enums.personalities.Intelligence.*; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.Random; - import megamek.common.Compute; import megamek.common.enums.Gender; import mekhq.campaign.personnel.Person; import mekhq.campaign.personnel.enums.GenderDescriptors; -import mekhq.campaign.personnel.randomEvents.enums.personalities.Aggression; -import mekhq.campaign.personnel.randomEvents.enums.personalities.Ambition; -import mekhq.campaign.personnel.randomEvents.enums.personalities.Greed; -import mekhq.campaign.personnel.randomEvents.enums.personalities.Intelligence; -import mekhq.campaign.personnel.randomEvents.enums.personalities.PersonalityQuirk; -import mekhq.campaign.personnel.randomEvents.enums.personalities.Social; +import mekhq.campaign.personnel.randomEvents.enums.personalities.*; + +import java.util.*; + +import static mekhq.campaign.personnel.randomEvents.enums.personalities.Intelligence.*; public class PersonalityController { public static void generatePersonality(Person person) { @@ -97,10 +88,10 @@ private static void setPersonalityTrait(Person person, int tableRoll, int traitR } switch (tableRoll) { - case 0 -> person.setAggression(Aggression.parseFromInt(traitRoll)); - case 1 -> person.setAmbition(Ambition.parseFromInt(traitRoll)); - case 2 -> person.setGreed(Greed.parseFromInt(traitRoll)); - case 3 -> person.setSocial(Social.parseFromInt(traitRoll)); + case 0 -> person.setAggression(Aggression.fromOrdinal(traitRoll)); + case 1 -> person.setAmbition(Ambition.fromOrdinal(traitRoll)); + case 2 -> person.setGreed(Greed.fromOrdinal(traitRoll)); + case 3 -> person.setSocial(Social.fromOrdinal(traitRoll)); default -> throw new IllegalStateException( "Unexpected value in mekhq/campaign/personnel/randomEvents/personality/PersonalityController.java/setPersonalityTrait: " + tableRoll); diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java index a627885845..71240f83ac 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java @@ -18,10 +18,11 @@ */ package mekhq.campaign.personnel.randomEvents.enums.personalities; -import java.util.ResourceBundle; - +import megamek.logging.MMLogger; import mekhq.MekHQ; +import java.util.ResourceBundle; + public enum Aggression { // region Enum Declarations NONE("Personality.NONE.text", "Personality.NONE.description", false, false), @@ -238,7 +239,7 @@ public boolean isVigilant() { * @throws IllegalStateException if the given string does not match any valid * Aggression */ - + @Deprecated public static Aggression parseFromString(final String aggression) { return switch (aggression) { case "0", "None" -> NONE; @@ -282,54 +283,23 @@ public static Aggression parseFromString(final String aggression) { } /** - * Parses an integer value into an Aggression enum. + * Returns the {@link Aggression} associated with the given ordinal. * - * @param aggression the integer value representing the Aggression level - * @return the corresponding Aggression enum value - * @throws IllegalStateException if the integer value does not correspond to any - * valid Aggression enum value + * @param ordinal the ordinal value of the {@link Aggression} + * @return the {@link Aggression} associated with the given ordinal, or default value + * {@code NONE} if not found */ + public static Aggression fromOrdinal(int ordinal) { + for (Aggression aggression : values()) { + if (aggression.ordinal() == ordinal) { + return aggression; + } + } - public static Aggression parseFromInt(final int aggression) { - return switch (aggression) { - case 0 -> NONE; - // Minor Characteristics - case 1 -> BOLD; - case 2 -> AGGRESSIVE; - case 3 -> ASSERTIVE; - case 4 -> BELLIGERENT; - case 5 -> BRASH; - case 6 -> CONFIDENT; - case 7 -> COURAGEOUS; - case 8 -> DARING; - case 9 -> DECISIVE; - case 10 -> DETERMINED; - case 11 -> DOMINEERING; - case 12 -> FEARLESS; - case 13 -> HOSTILE; - case 14 -> HOT_HEADED; - case 15 -> IMPETUOUS; - case 16 -> IMPULSIVE; - case 17 -> INFLEXIBLE; - case 18 -> INTREPID; - case 19 -> OVERBEARING; - case 20 -> RECKLESS; - case 21 -> RESOLUTE; - case 22 -> STUBBORN; - case 23 -> TENACIOUS; - case 24 -> VIGILANT; - // Major Characteristics - case 25 -> BLOODTHIRSTY; - case 26 -> DIPLOMATIC; - case 27 -> MURDEROUS; - case 28 -> PACIFISTIC; - case 29 -> SADISTIC; - case 30 -> SAVAGE; - default -> - throw new IllegalStateException( - "Unexpected value in mekhq/campaign/personnel/enums/randomEvents/personalities/Aggression.java/parseFromInt: " - + aggression); - }; + final MMLogger logger = MMLogger.create(Aggression.class); + logger.error(String.format("Unknown Aggression ordinal: %s - returning NONE.", ordinal)); + + return NONE; } @Override diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java index 044cf956d7..2b59f3a032 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java @@ -18,10 +18,11 @@ */ package mekhq.campaign.personnel.randomEvents.enums.personalities; -import java.util.ResourceBundle; - +import megamek.logging.MMLogger; import mekhq.MekHQ; +import java.util.ResourceBundle; + public enum Ambition { // region Enum Declarations NONE("Personality.NONE.text", "Personality.NONE.description", false, false), @@ -237,7 +238,7 @@ public boolean isVisionary() { * @throws IllegalStateException if the given string does not match any valid * Ambition */ - + @Deprecated public static Ambition parseFromString(final String ambition) { return switch (ambition) { case "0", "None" -> NONE; @@ -281,54 +282,23 @@ public static Ambition parseFromString(final String ambition) { } /** - * Parses an integer value into an Aggression enum. + * Returns the {@link Ambition} associated with the given ordinal. * - * @param ambition the integer value representing the Ambition level - * @return the corresponding Ambition enum value - * @throws IllegalStateException if the integer value does not correspond to any - * valid Ambition enum value + * @param ordinal the ordinal value of the {@link Ambition} + * @return the {@link Ambition} associated with the given ordinal, or default value + * {@code NONE} if not found */ + public static Ambition fromOrdinal(int ordinal) { + for (Ambition ambition : values()) { + if (ambition.ordinal() == ordinal) { + return ambition; + } + } - public static Ambition parseFromInt(final int ambition) { - return switch (ambition) { - case 0 -> NONE; - // Minor Characteristics - case 1 -> AMBITIOUS; - case 2 -> ARROGANT; - case 3 -> ASPIRING; - case 4 -> CALCULATING; - case 5 -> CONNIVING; - case 6 -> CONTROLLING; - case 7 -> CUTTHROAT; - case 8 -> DILIGENT; - case 9 -> DRIVEN; - case 10 -> ENERGETIC; - case 11 -> EXCESSIVE; - case 12 -> FOCUSED; - case 13 -> GOAL_ORIENTED; - case 14 -> MOTIVATED; - case 15 -> OPPORTUNISTIC; - case 16 -> OVERCONFIDENT; - case 17 -> PERSISTENT; - case 18 -> PROACTIVE; - case 19 -> RESILIENT; - case 20 -> RUTHLESS; - case 21 -> SELFISH; - case 22 -> STRATEGIC; - case 23 -> UNAMBITIOUS; - case 24 -> UNSCRUPULOUS; - // Major Characteristics - case 25 -> DISHONEST; - case 26 -> INNOVATIVE; - case 27 -> MANIPULATIVE; - case 28 -> RESOURCEFUL; - case 29 -> TYRANNICAL; - case 30 -> VISIONARY; - default -> - throw new IllegalStateException( - "Unexpected value in mekhq/campaign/personnel/enums/randomEvents/personalities/Ambition.java/parseFromInt: " - + ambition); - }; + final MMLogger logger = MMLogger.create(Ambition.class); + logger.error(String.format("Unknown Ambition ordinal: %s - returning NONE.", ordinal)); + + return NONE; } @Override diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java index 5119e13a74..e0e9f2f5ac 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java @@ -18,10 +18,11 @@ */ package mekhq.campaign.personnel.randomEvents.enums.personalities; -import java.util.ResourceBundle; - +import megamek.logging.MMLogger; import mekhq.MekHQ; +import java.util.ResourceBundle; + public enum Greed { // region Enum Declarations NONE("Personality.NONE.text", "Personality.NONE.description", false, false), @@ -237,7 +238,7 @@ public boolean isVoracious() { * @throws IllegalStateException if the given string does not match any valid * Greed */ - + @Deprecated public static Greed parseFromString(final String greed) { return switch (greed) { case "0", "None" -> NONE; @@ -281,54 +282,23 @@ public static Greed parseFromString(final String greed) { } /** - * Parses an integer value into an Greed enum. + * Returns the {@link Greed} associated with the given ordinal. * - * @param greed the integer value representing the Greed level - * @return the corresponding Greed enum value - * @throws IllegalStateException if the integer value does not correspond to any - * valid Greed enum value + * @param ordinal the ordinal value of the {@link Greed} + * @return the {@link Greed} associated with the given ordinal, or default value + * {@code NONE} if not found */ + public static Greed fromOrdinal(int ordinal) { + for (Greed greed : values()) { + if (greed.ordinal() == ordinal) { + return greed; + } + } - public static Greed parseFromInt(final int greed) { - return switch (greed) { - case 0 -> NONE; - // Minor Characteristics - case 1 -> ASTUTE; - case 2 -> ADEPT; - case 3 -> AVARICIOUS; - case 4 -> DYNAMIC; - case 5 -> EAGER; - case 6 -> EXPLOITATIVE; - case 7 -> FRAUDULENT; - case 8 -> GENEROUS; - case 9 -> GREEDY; - case 10 -> HOARDING; - case 11 -> INSATIABLE; - case 12 -> INSIGHTFUL; - case 13 -> JUDICIOUS; - case 14 -> LUSTFUL; - case 15 -> MERCENARY; - case 16 -> OVERREACHING; - case 17 -> PROFITABLE; - case 18 -> SAVVY; - case 19 -> SELF_SERVING; - case 20 -> SHAMELESS; - case 21 -> SHREWD; - case 22 -> TACTICAL; - case 23 -> UNPRINCIPLED; - case 24 -> VORACIOUS; - // Major Characteristics - case 25 -> CORRUPT; - case 26 -> ENTERPRISING; - case 27 -> INTUITIVE; - case 28 -> METICULOUS; - case 29 -> NEFARIOUS; - case 30 -> THIEF; - default -> - throw new IllegalStateException( - "Unexpected value in mekhq/campaign/personnel/enums/randomEvents/personalities/Greed.java/parseFromInt: " - + greed); - }; + final MMLogger logger = MMLogger.create(Greed.class); + logger.error(String.format("Unknown Greed ordinal: %s - returning NONE.", ordinal)); + + return NONE; } @Override diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Intelligence.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Intelligence.java index 7237a0bb6e..f05c9b31b5 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Intelligence.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Intelligence.java @@ -18,10 +18,11 @@ */ package mekhq.campaign.personnel.randomEvents.enums.personalities; -import java.util.ResourceBundle; - +import megamek.logging.MMLogger; import mekhq.MekHQ; +import java.util.ResourceBundle; + public enum Intelligence { // region Enum Declarations BRAIN_DEAD("Intelligence.BRAIN_DEAD.text", "Intelligence.BRAIN_DEAD.description"), @@ -73,106 +74,9 @@ public String getDescription() { // endregion Getters // region Boolean Comparison Methods - - public boolean isBrainDead() { - return this == BRAIN_DEAD; - } - - public boolean isUnintelligent() { - return this == UNINTELLIGENT; - } - - public boolean isFeebleMinded() { - return this == FOOLISH; - } - - public boolean isSimple() { - return this == SIMPLE; - } - - public boolean isSlow() { - return this == SLOW; - } - - public boolean isUninspired() { - return this == UNINSPIRED; - } - - public boolean isDull() { - return this == DULL; - } - - public boolean isDimwitted() { - return this == DIMWITTED; - } - - public boolean isObtuse() { - return this == OBTUSE; - } - - public boolean isBelowAverage() { - return this == BELOW_AVERAGE; - } - - public boolean isUnderPerforming() { - return this == UNDER_PERFORMING; - } - - public boolean isLimitedInsight() { - return this == LIMITED_INSIGHT; - } - public boolean isAverage() { return this == AVERAGE; } - - public boolean isAboveAverage() { - return this == ABOVE_AVERAGE; - } - - public boolean isSTUDIOUS() { - return this == STUDIOUS; - } - - public boolean isDiscerning() { - return this == DISCERNING; - } - - public boolean isSharp() { - return this == SHARP; - } - - public boolean isQuickWitted() { - return this == QUICK_WITTED; - } - - public boolean isPerceptive() { - return this == PERCEPTIVE; - } - - public boolean isBright() { - return this == BRIGHT; - } - - public boolean isClever() { - return this == CLEVER; - } - - public boolean isIntellectual() { - return this == INTELLECTUAL; - } - - public boolean isBrilliant() { - return this == BRILLIANT; - } - - public boolean isExceptional() { - return this == EXCEPTIONAL; - } - - public boolean isGenius() { - return this == GENIUS; - } // endregion Boolean Comparison Methods // region File I/O @@ -185,6 +89,7 @@ public boolean isGenius() { * @throws IllegalStateException if the given string does not match any valid * Quirk */ + @Deprecated public static Intelligence parseFromString(final String quirk) { return switch (quirk) { case "0", "Brain Dead" -> BRAIN_DEAD; @@ -220,40 +125,23 @@ public static Intelligence parseFromString(final String quirk) { } /** - * Parses the given Intelligence enum value to an integer. + * Returns the {@link Intelligence} associated with the given ordinal. * - * @param intelligence the Intelligence enum value to be parsed - * @return the integer value representing the parsed Intelligence + * @param ordinal the ordinal value of the {@link Intelligence} + * @return the {@link Intelligence} associated with the given ordinal, or default value + * {@code AVERAGE} if not found */ + public static Intelligence fromOrdinal(int ordinal) { + for (Intelligence intelligence : values()) { + if (intelligence.ordinal() == ordinal) { + return intelligence; + } + } - public static int parseToInt(final Intelligence intelligence) { - return switch (intelligence) { - case BRAIN_DEAD -> 0; - case UNINTELLIGENT -> 1; - case FOOLISH -> 2; - case SIMPLE -> 3; - case SLOW -> 4; - case UNINSPIRED -> 5; - case DULL -> 6; - case DIMWITTED -> 7; - case OBTUSE -> 8; - case BELOW_AVERAGE -> 9; - case UNDER_PERFORMING -> 10; - case LIMITED_INSIGHT -> 11; - case AVERAGE -> 12; - case ABOVE_AVERAGE -> 13; - case STUDIOUS -> 14; - case DISCERNING -> 15; - case SHARP -> 16; - case QUICK_WITTED -> 17; - case PERCEPTIVE -> 18; - case BRIGHT -> 19; - case CLEVER -> 20; - case INTELLECTUAL -> 21; - case BRILLIANT -> 22; - case EXCEPTIONAL -> 23; - case GENIUS -> 24; - }; + final MMLogger logger = MMLogger.create(Intelligence.class); + logger.error(String.format("Unknown Intelligence ordinal: %s - returning AVERAGE.", ordinal)); + + return AVERAGE; } @Override diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/PersonalityQuirk.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/PersonalityQuirk.java index eea4a4d1bb..b78e4c42c2 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/PersonalityQuirk.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/PersonalityQuirk.java @@ -18,10 +18,11 @@ */ package mekhq.campaign.personnel.randomEvents.enums.personalities; -import java.util.ResourceBundle; - +import megamek.logging.MMLogger; import mekhq.MekHQ; +import java.util.ResourceBundle; + public enum PersonalityQuirk { // region Enum Declarations NONE("Personality.NONE.text", "Personality.NONE.description"), @@ -129,7 +130,118 @@ public enum PersonalityQuirk { WEATHERMAN("PersonalityQuirk.WEATHERMAN.text", "PersonalityQuirk.WEATHERMAN.description"), WHISTLER("PersonalityQuirk.WHISTLER.text", "PersonalityQuirk.WHISTLER.description"), WORRIER("PersonalityQuirk.WORRIER.text", "PersonalityQuirk.WORRIER.description"), - WRITER("PersonalityQuirk.WRITER.text", "PersonalityQuirk.WRITER.description"); + WRITER("PersonalityQuirk.WRITER.text", "PersonalityQuirk.WRITER.description"), + BATTLEFIELD_NOSTALGIA("PersonalityQuirk.BATTLEFIELD_NOSTALGIA.text", "PersonalityQuirk.BATTLEFIELD_NOSTALGIA.description"), + HEAVY_HANDED("PersonalityQuirk.HEAVY_HANDED.text", "PersonalityQuirk.HEAVY_HANDED.description"), + RATION_HOARDER("PersonalityQuirk.RATION_HOARDER.text", "PersonalityQuirk.RATION_HOARDER.description"), + EMERGENCY_MANUAL_READER("PersonalityQuirk.EMERGENCY_MANUAL_READER.text", "PersonalityQuirk.EMERGENCY_MANUAL_READER.description"), + QUICK_TO_QUIP("PersonalityQuirk.QUICK_TO_QUIP.text", "PersonalityQuirk.QUICK_TO_QUIP.description"), + TECH_SKEPTIC("PersonalityQuirk.TECH_SKEPTIC.text", "PersonalityQuirk.TECH_SKEPTIC.description"), + POST_BATTLE_RITUALS("PersonalityQuirk.POST_BATTLE_RITUALS.text", "PersonalityQuirk.POST_BATTLE_RITUALS.description"), + OVER_COMMUNICATOR("PersonalityQuirk.OVER_COMMUNICATOR.text", "PersonalityQuirk.OVER_COMMUNICATOR.description"), + FIELD_MEDIC("PersonalityQuirk.FIELD_MEDIC.text", "PersonalityQuirk.FIELD_MEDIC.description"), + SYSTEM_CALIBRATOR("PersonalityQuirk.SYSTEM_CALIBRATOR.text", "PersonalityQuirk.SYSTEM_CALIBRATOR.description"), + AMMO_COUNTER("PersonalityQuirk.AMMO_COUNTER.text", "PersonalityQuirk.AMMO_COUNTER.description"), + BRAVADO("PersonalityQuirk.BRAVADO.text", "PersonalityQuirk.BRAVADO.description"), + COMBAT_SONG("PersonalityQuirk.COMBAT_SONG.text", "PersonalityQuirk.COMBAT_SONG.description"), + COMMS_TOGGLE("PersonalityQuirk.COMMS_TOGGLE.text", "PersonalityQuirk.COMMS_TOGGLE.description"), + EJECTION_READY("PersonalityQuirk.EJECTION_READY.text", "PersonalityQuirk.EJECTION_READY.description"), + HAND_SIGNS("PersonalityQuirk.HAND_SIGNS.text", "PersonalityQuirk.HAND_SIGNS.description"), + HATE_FOR_MEKS("PersonalityQuirk.HATE_FOR_MEKS.text", "PersonalityQuirk.HATE_FOR_MEKS.description"), + IMPROVISED_WEAPONRY("PersonalityQuirk.IMPROVISED_WEAPONRY.text", "PersonalityQuirk.IMPROVISED_WEAPONRY.description"), + PRE_BATTLE_SUPERSTITIONS("PersonalityQuirk.PRE_BATTLE_SUPERSTITIONS.text", "PersonalityQuirk.PRE_BATTLE_SUPERSTITIONS.description"), + SILENT_LEADER("PersonalityQuirk.SILENT_LEADER.text", "PersonalityQuirk.SILENT_LEADER.description"), + BATTLE_CRITIC("PersonalityQuirk.BATTLE_CRITIC.text", "PersonalityQuirk.BATTLE_CRITIC.description"), + CHECKS_WEAPON_SAFETY("PersonalityQuirk.CHECKS_WEAPON_SAFETY.text", "PersonalityQuirk.CHECKS_WEAPON_SAFETY.description"), + CLOSE_COMBAT_PREF("PersonalityQuirk.CLOSE_COMBAT_PREF.text", "PersonalityQuirk.CLOSE_COMBAT_PREF.description"), + COMBAT_POET("PersonalityQuirk.COMBAT_POET.text", "PersonalityQuirk.COMBAT_POET.description"), + CUSTOM_DECALS("PersonalityQuirk.CUSTOM_DECALS.text", "PersonalityQuirk.CUSTOM_DECALS.description"), + DISPLAYS_TROPHIES("PersonalityQuirk.DISPLAYS_TROPHIES.text", "PersonalityQuirk.DISPLAYS_TROPHIES.description"), + DO_IT_YOURSELF("PersonalityQuirk.DO_IT_YOURSELF.text", "PersonalityQuirk.DO_IT_YOURSELF.description"), + FIELD_IMPROVISER("PersonalityQuirk.FIELD_IMPROVISER.text", "PersonalityQuirk.FIELD_IMPROVISER.description"), + LOUD_COMMS("PersonalityQuirk.LOUD_COMMS.text", "PersonalityQuirk.LOUD_COMMS.description"), + WAR_STORIES("PersonalityQuirk.WAR_STORIES.text", "PersonalityQuirk.WAR_STORIES.description"), + ALL_OR_NOTHING("PersonalityQuirk.ALL_OR_NOTHING.text", "PersonalityQuirk.ALL_OR_NOTHING.description"), + BOOTS_ON_THE_GROUND("PersonalityQuirk.BOOTS_ON_THE_GROUND.text", "PersonalityQuirk.BOOTS_ON_THE_GROUND.description"), + BRAVERY_BOASTER("PersonalityQuirk.BRAVERY_BOASTER.text", "PersonalityQuirk.BRAVERY_BOASTER.description"), + COCKPIT_DRIFTER("PersonalityQuirk.COCKPIT_DRIFTER.text", "PersonalityQuirk.COCKPIT_DRIFTER.description"), + CONSPIRACY_THEORIST("PersonalityQuirk.CONSPIRACY_THEORIST.text", "PersonalityQuirk.CONSPIRACY_THEORIST.description"), + DEVOUT_WARRIOR("PersonalityQuirk.DEVOUT_WARRIOR.text", "PersonalityQuirk.DEVOUT_WARRIOR.description"), + DUAL_WIELDING("PersonalityQuirk.DUAL_WIELDING.text", "PersonalityQuirk.DUAL_WIELDING.description"), + EMBLEM_LOVER("PersonalityQuirk.EMBLEM_LOVER.text", "PersonalityQuirk.EMBLEM_LOVER.description"), + EXCESSIVE_DEBRIEFING("PersonalityQuirk.EXCESSIVE_DEBRIEFING.text", "PersonalityQuirk.EXCESSIVE_DEBRIEFING.description"), + EYE_FOR_ART("PersonalityQuirk.EYE_FOR_ART.text", "PersonalityQuirk.EYE_FOR_ART.description"), + FAST_TALKER("PersonalityQuirk.FAST_TALKER.text", "PersonalityQuirk.FAST_TALKER.description"), + FINGER_GUNS("PersonalityQuirk.FINGER_GUNS.text", "PersonalityQuirk.FINGER_GUNS.description"), + FLARE_DEPLOYER("PersonalityQuirk.FLARE_DEPLOYER.text", "PersonalityQuirk.FLARE_DEPLOYER.description"), + FRIENDLY_INTERROGATOR("PersonalityQuirk.FRIENDLY_INTERROGATOR.text", "PersonalityQuirk.FRIENDLY_INTERROGATOR.description"), + GUN_NUT("PersonalityQuirk.GUN_NUT.text", "PersonalityQuirk.GUN_NUT.description"), + LAST_MAN_STANDING("PersonalityQuirk.LAST_MAN_STANDING.text", "PersonalityQuirk.LAST_MAN_STANDING.description"), + LEGENDARY_MEK("PersonalityQuirk.LEGENDARY_MEK.text", "PersonalityQuirk.LEGENDARY_MEK.description"), + PASSIVE_LEADER("PersonalityQuirk.PASSIVE_LEADER.text", "PersonalityQuirk.PASSIVE_LEADER.description"), + REBEL_WITHOUT_CAUSE("PersonalityQuirk.REBEL_WITHOUT_CAUSE.text", "PersonalityQuirk.REBEL_WITHOUT_CAUSE.description"), + SIMPLE_LIFE("PersonalityQuirk.SIMPLE_LIFE.text", "PersonalityQuirk.SIMPLE_LIFE.description"), + ANTI_AUTHORITY("PersonalityQuirk.ANTI_AUTHORITY.text", "PersonalityQuirk.ANTI_AUTHORITY.description"), + BLOODLUST("PersonalityQuirk.BLOODLUST.text", "PersonalityQuirk.BLOODLUST.description"), + BRAVERY_IN_DOUBT("PersonalityQuirk.BRAVERY_IN_DOUBT.text", "PersonalityQuirk.BRAVERY_IN_DOUBT.description"), + CLOSE_QUARTERS_ONLY("PersonalityQuirk.CLOSE_QUARTERS_ONLY.text", "PersonalityQuirk.CLOSE_QUARTERS_ONLY.description"), + COOL_UNDER_FIRE("PersonalityQuirk.COOL_UNDER_FIRE.text", "PersonalityQuirk.COOL_UNDER_FIRE.description"), + CRASH_TEST("PersonalityQuirk.CRASH_TEST.text", "PersonalityQuirk.CRASH_TEST.description"), + DEAD_PAN_HUMOR("PersonalityQuirk.DEAD_PAN_HUMOR.text", "PersonalityQuirk.DEAD_PAN_HUMOR.description"), + DRILLS("PersonalityQuirk.DRILLS.text", "PersonalityQuirk.DRILLS.description"), + ENEMY_RESPECT("PersonalityQuirk.ENEMY_RESPECT.text", "PersonalityQuirk.ENEMY_RESPECT.description"), + EXTREME_MORNING_PERSON("PersonalityQuirk.EXTREME_MORNING_PERSON.text", "PersonalityQuirk.EXTREME_MORNING_PERSON.description"), + GALLANT("PersonalityQuirk.GALLANT.text", "PersonalityQuirk.GALLANT.description"), + IRON_STOMACH("PersonalityQuirk.IRON_STOMACH.text", "PersonalityQuirk.IRON_STOMACH.description"), + MISSION_CRITIC("PersonalityQuirk.MISSION_CRITIC.text", "PersonalityQuirk.MISSION_CRITIC.description"), + NO_PAIN_NO_GAIN("PersonalityQuirk.NO_PAIN_NO_GAIN.text", "PersonalityQuirk.NO_PAIN_NO_GAIN.description"), + PERSONAL_ARMORY("PersonalityQuirk.PERSONAL_ARMORY.text", "PersonalityQuirk.PERSONAL_ARMORY.description"), + QUICK_ADAPTER("PersonalityQuirk.QUICK_ADAPTER.text", "PersonalityQuirk.QUICK_ADAPTER.description"), + RETALIATOR("PersonalityQuirk.RETALIATOR.text", "PersonalityQuirk.RETALIATOR.description"), + RUSH_HOUR("PersonalityQuirk.RUSH_HOUR.text", "PersonalityQuirk.RUSH_HOUR.description"), + SILENT_PROTECTOR("PersonalityQuirk.SILENT_PROTECTOR.text", "PersonalityQuirk.SILENT_PROTECTOR.description"), + ALWAYS_TACTICAL("PersonalityQuirk.ALWAYS_TACTICAL.text", "PersonalityQuirk.ALWAYS_TACTICAL.description"), + BATTLE_SCREAM("PersonalityQuirk.BATTLE_SCREAM.text", "PersonalityQuirk.BATTLE_SCREAM.description"), + BRIEF_AND_TO_THE_POINT("PersonalityQuirk.BRIEF_AND_TO_THE_POINT.text", "PersonalityQuirk.BRIEF_AND_TO_THE_POINT.description"), + CALLSIGN_COLLECTOR("PersonalityQuirk.CALLSIGN_COLLECTOR.text", "PersonalityQuirk.CALLSIGN_COLLECTOR.description"), + CHATTERBOX("PersonalityQuirk.CHATTERBOX.text", "PersonalityQuirk.CHATTERBOX.description"), + COMBAT_ARTIST("PersonalityQuirk.COMBAT_ARTIST.text", "PersonalityQuirk.COMBAT_ARTIST.description"), + DARING_ESCAPE("PersonalityQuirk.DARING_ESCAPE.text", "PersonalityQuirk.DARING_ESCAPE.description"), + DOOMSDAY_PREPPER("PersonalityQuirk.DOOMSDAY_PREPPER.text", "PersonalityQuirk.DOOMSDAY_PREPPER.description"), + EQUIPMENT_SCAVENGER("PersonalityQuirk.EQUIPMENT_SCAVENGER.text", "PersonalityQuirk.EQUIPMENT_SCAVENGER.description"), + FRIEND_TO_FOES("PersonalityQuirk.FRIEND_TO_FOES.text", "PersonalityQuirk.FRIEND_TO_FOES.description"), + GUNG_HO("PersonalityQuirk.GUNG_HO.text", "PersonalityQuirk.GUNG_HO.description"), + INSPIRATIONAL_POET("PersonalityQuirk.INSPIRATIONAL_POET.text", "PersonalityQuirk.INSPIRATIONAL_POET.description"), + MEK_MATCHMAKER("PersonalityQuirk.MEK_MATCHMAKER.text", "PersonalityQuirk.MEK_MATCHMAKER.description"), + MISSILE_JUNKIE("PersonalityQuirk.MISSILE_JUNKIE.text", "PersonalityQuirk.MISSILE_JUNKIE.description"), + NEVER_RETREAT("PersonalityQuirk.NEVER_RETREAT.text", "PersonalityQuirk.NEVER_RETREAT.description"), + OPTIMISTIC_TO_A_FAULT("PersonalityQuirk.OPTIMISTIC_TO_A_FAULT.text", "PersonalityQuirk.OPTIMISTIC_TO_A_FAULT.description"), + REACTIVE("PersonalityQuirk.REACTIVE.text", "PersonalityQuirk.REACTIVE.description"), + RISK_TAKER("PersonalityQuirk.RISK_TAKER.text", "PersonalityQuirk.RISK_TAKER.description"), + SIGNATURE_MOVE("PersonalityQuirk.SIGNATURE_MOVE.text", "PersonalityQuirk.SIGNATURE_MOVE.description"), + TACTICAL_WITHDRAWAL("PersonalityQuirk.TACTICAL_WITHDRAWAL.text", "PersonalityQuirk.TACTICAL_WITHDRAWAL.description"), + ACCENT_SWITCHER("PersonalityQuirk.ACCENT_SWITCHER.text", "PersonalityQuirk.ACCENT_SWITCHER.description"), + AMBUSH_LOVER("PersonalityQuirk.AMBUSH_LOVER.text", "PersonalityQuirk.AMBUSH_LOVER.description"), + BATTLE_HARDENED("PersonalityQuirk.BATTLE_HARDENED.text", "PersonalityQuirk.BATTLE_HARDENED.description"), + BREAKS_RADIO_SILENCE("PersonalityQuirk.BREAKS_RADIO_SILENCE.text", "PersonalityQuirk.BREAKS_RADIO_SILENCE.description"), + CONVOY_LOVER("PersonalityQuirk.CONVOY_LOVER.text", "PersonalityQuirk.CONVOY_LOVER.description"), + DEBRIS_SLINGER("PersonalityQuirk.DEBRIS_SLINGER.text", "PersonalityQuirk.DEBRIS_SLINGER.description"), + CAMOUFLAGE("PersonalityQuirk.CAMOUFLAGE.text", "PersonalityQuirk.CAMOUFLAGE.description"), + DISTANT_LEADER("PersonalityQuirk.DISTANT_LEADER.text", "PersonalityQuirk.DISTANT_LEADER.description"), + DRAMATIC_FINISH("PersonalityQuirk.DRAMATIC_FINISH.text", "PersonalityQuirk.DRAMATIC_FINISH.description"), + ENGINE_REVERER("PersonalityQuirk.ENGINE_REVERER.text", "PersonalityQuirk.ENGINE_REVERER.description"), + FLIRTY_COMMS("PersonalityQuirk.FLIRTY_COMMS.text", "PersonalityQuirk.FLIRTY_COMMS.description"), + FOCUS_FREAK("PersonalityQuirk.FOCUS_FREAK.text", "PersonalityQuirk.FOCUS_FREAK.description"), + FOUL_MOUTHED("PersonalityQuirk.FOUL_MOUTHED.text", "PersonalityQuirk.FOUL_MOUTHED.description"), + FREESTYLE_COMBAT("PersonalityQuirk.FREESTYLE_COMBAT.text", "PersonalityQuirk.FREESTYLE_COMBAT.description"), + GEOMETRY_GURU("PersonalityQuirk.GEOMETRY_GURU.text", "PersonalityQuirk.GEOMETRY_GURU.description"), + ICE_COLD("PersonalityQuirk.ICE_COLD.text", "PersonalityQuirk.ICE_COLD.description"), + PICKY_ABOUT_GEAR("PersonalityQuirk.PICKY_ABOUT_GEAR.text", "PersonalityQuirk.PICKY_ABOUT_GEAR.description"), + RECORD_KEEPER("PersonalityQuirk.RECORD_KEEPER.text", "PersonalityQuirk.RECORD_KEEPER.description"), + RESOURCE_SCROUNGER("PersonalityQuirk.RESOURCE_SCROUNGER.text", "PersonalityQuirk.RESOURCE_SCROUNGER.description"), + TRASH_TALKER("PersonalityQuirk.TRASH_TALKER.text", "PersonalityQuirk.TRASH_TALKER.description"), + CORRECTS_PRONOUNS("PersonalityQuirk.CORRECTS_PRONOUNS.text", "PersonalityQuirk.CORRECTS_PRONOUNS.description"), + BODY_DISCOMFORT("PersonalityQuirk.BODY_DISCOMFORT.text", "PersonalityQuirk.BODY_DISCOMFORT.description"); // endregion Enum Declarations // region Variable Declarations @@ -158,406 +270,6 @@ public String getDescription() { public boolean isNone() { return this == NONE; } - - public boolean isAdjustsClothes() { - return this == ADJUSTS_CLOTHES; - } - - public boolean isAffectionate() { - return this == AFFECTIONATE; - } - - public boolean isApologetic() { - return this == APOLOGETIC; - } - - public boolean isBookworm() { - return this == BOOKWORM; - } - - public boolean isCalendar() { - return this == CALENDAR; - } - - public boolean isCandles() { - return this == CANDLES; - } - - public boolean isChewingGum() { - return this == CHEWING_GUM; - } - - public boolean isChronicLateness() { - return this == CHRONIC_LATENESS; - } - - public boolean isCleaner() { - return this == CLEANER; - } - - public boolean isCollector() { - return this == COLLECTOR; - } - - public boolean isCompetitiveNature() { - return this == COMPETITIVE_NATURE; - } - - public boolean isCompliments() { - return this == COMPLIMENTS; - } - - public boolean isDaydreamer() { - return this == DAYDREAMER; - } - - public boolean isDoodler() { - return this == DOODLER; - } - - public boolean isDoolittle() { - return this == DOOLITTLE; - } - - public boolean isDramatic() { - return this == DRAMATIC; - } - - public boolean isEatingHabits() { - return this == EATING_HABITS; - } - - public boolean isEnvironmentalSensitivity() { - return this == ENVIRONMENTAL_SENSITIVITY; - } - - public boolean isExcessiveCaution() { - return this == EXCESSIVE_CAUTION; - } - - public boolean isExcessiveGreeting() { - return this == EXCESSIVE_GREETING; - } - - public boolean isEyeContact() { - return this == EYE_CONTACT; - } - - public boolean isFashionChoices() { - return this == FASHION_CHOICES; - } - - public boolean isFidgets() { - return this == FIDGETS; - } - - public boolean isFitness() { - return this == FITNESS; - } - - public boolean isFixates() { - return this == FIXATES; - } - - public boolean isFlask() { - return this == FLASK; - } - - public boolean isFootTapper() { - return this == FOOT_TAPPER; - } - - public boolean isForgetful() { - return this == FORGETFUL; - } - - public boolean isFormalSpeech() { - return this == FORMAL_SPEECH; - } - - public boolean isFurniture() { - return this == FURNITURE; - } - - public boolean isGlasses() { - return this == GLASSES; - } - - public boolean isGloves() { - return this == GLOVES; - } - - public boolean isHandGestures() { - return this == HAND_GESTURES; - } - - public boolean isHandWringer() { - return this == HAND_WRINGER; - } - - public boolean isHandshake() { - return this == HANDSHAKE; - } - - public boolean isHeadphones() { - return this == HEADPHONES; - } - - public boolean isHealthySnacks() { - return this == HEALTHY_SNACKS; - } - - public boolean isHistorian() { - return this == HISTORIAN; - } - - public boolean isHummer() { - return this == HUMMER; - } - - public boolean isHygienic() { - return this == HYGIENIC; - } - - public boolean isIrregularSleeper() { - return this == IRREGULAR_SLEEPER; - } - - public boolean isJoker() { - return this == JOKER; - } - - public boolean isLists() { - return this == LISTS; - } - - public boolean isLiteral() { - return this == LITERAL; - } - - public boolean isLocks() { - return this == LOCKS; - } - - public boolean isMeasuredTalker() { - return this == MEASURED_TALKER; - } - - public boolean isMinimalist() { - return this == MINIMALIST; - } - - public boolean isMug() { - return this == MUG; - } - - public boolean isNailBiter() { - return this == NAIL_BITER; - } - - public boolean isNicknames() { - return this == NICKNAMING; - } - - public boolean isNightOwl() { - return this == NIGHT_OWL; - } - - public boolean isNoteTaker() { - return this == NOTE_TAKER; - } - - public boolean isNotebook() { - return this == NOTEBOOK; - } - - public boolean isObject() { - return this == OBJECT; - } - - public boolean isOrganizationalTendencies() { - return this == ORGANIZATIONAL_TENDENCIES; - } - - public boolean isOrganizer() { - return this == ORGANIZER; - } - - public boolean isOrigami() { - return this == ORIGAMI; - } - - public boolean isOverPlanner() { - return this == OVER_PLANNER; - } - - public boolean isOverExplainer() { - return this == OVEREXPLAINER; - } - - public boolean isPenClicker() { - return this == PEN_CLICKER; - } - - public boolean isPenTwirler() { - return this == PEN_TWIRLER; - } - - public boolean isPersonification() { - return this == PERSONIFICATION; - } - - public boolean isPessimist() { - return this == PESSIMIST; - } - - public boolean isPhrases() { - return this == PHRASES; - } - - public boolean isPlants() { - return this == PLANTS; - } - - public boolean isPolite() { - return this == POLITE; - } - - public boolean isPracticalJoker() { - return this == PRACTICAL_JOKER; - } - - public boolean isPrepared() { - return this == PREPARED; - } - - public boolean isPunctual() { - return this == PUNCTUAL; - } - - public boolean isPuzzles() { - return this == PUZZLES; - } - - public boolean isQuotes() { - return this == QUOTES; - } - - public boolean isRarelySleeps() { - return this == RARELY_SLEEPS; - } - - public boolean isRoutine() { - return this == ROUTINE; - } - - public boolean isSeeksApproval() { - return this == SEEKS_APPROVAL; - } - - public boolean isSentimental() { - return this == SENTIMENTAL; - } - - public boolean isSharpening() { - return this == SHARPENING; - } - - public boolean isSings() { - return this == SINGS; - } - - public boolean isSkeptical() { - return this == SKEPTICAL; - } - - public boolean isSleepTalker() { - return this == SLEEP_TALKER; - } - - public boolean isSmiler() { - return this == SMILER; - } - - public boolean isSnacks() { - return this == SNACKS; - } - - public boolean iStoryteller() { - return this == STORYTELLING; - } - - public boolean isStretching() { - return this == STRETCHING; - } - - public boolean isSuperstitiousRituals() { - return this == SUPERSTITIOUS_RITUALS; - } - - public boolean isSupervisedHabits() { - return this == SUPERVISED_HABITS; - } - - public boolean isTechTalk() { - return this == TECH_TALK; - } - - public boolean isTechnophobia() { - return this == TECHNOPHOBIA; - } - - public boolean isThesaurus() { - return this == THESAURUS; - } - - public boolean isThirdPerson() { - return this == THIRD_PERSON; - } - - public boolean isTimeManagement() { - return this == TIME_MANAGEMENT; - } - - public boolean isTinkerer() { - return this == TINKERER; - } - - public boolean isTruthTeller() { - return this == TRUTH_TELLER; - } - - public boolean isUnnecessaryCaution() { - return this == UNNECESSARY_CAUTION; - } - - public boolean isUnpredictableSpeech() { - return this == UNPREDICTABLE_SPEECH; - } - - public boolean isUnusualHobbies() { - return this == UNUSUAL_HOBBIES; - } - - public boolean isWatch() { - return this == WATCH; - } - - public boolean isWeatherman() { - return this == WEATHERMAN; - } - - public boolean isWhistler() { - return this == WHISTLER; - } - - public boolean isWorrier() { - return this == WORRIER; - } - - public boolean isWriter() { - return this == WRITER; - } // endregion Boolean Comparison Methods // region File I/O @@ -570,7 +282,7 @@ public boolean isWriter() { * @throws IllegalStateException if the given string does not match any valid * Quirk */ - + @Deprecated public static PersonalityQuirk parseFromString(final String quirk) { return switch (quirk) { case "0", "none" -> NONE; @@ -674,6 +386,7 @@ public static PersonalityQuirk parseFromString(final String quirk) { case "98", "Frequent Whistler" -> WHISTLER; case "99", "Persistent Worrier" -> WORRIER; case "100", "Writes Everything Down" -> WRITER; + case "101", "Constantly Reminiscing" -> BATTLEFIELD_NOSTALGIA; default -> throw new IllegalStateException( "Unexpected value in mekhq/campaign/personnel/enums/randomEvents/personalities/PersonalityQuirk.java/parseFromString: " @@ -681,6 +394,26 @@ public static PersonalityQuirk parseFromString(final String quirk) { }; } + /** + * Returns the {@link PersonalityQuirk} associated with the given ordinal. + * + * @param ordinal the ordinal value of the {@link PersonalityQuirk} + * @return the {@link PersonalityQuirk} associated with the given ordinal, or default value + * {@code NONE} if not found + */ + public static PersonalityQuirk fromOrdinal(int ordinal) { + for (PersonalityQuirk quirk : values()) { + if (quirk.ordinal() == ordinal) { + return quirk; + } + } + + final MMLogger logger = MMLogger.create(PersonalityQuirk.class); + logger.error(String.format("Unknown PersonalityQuirk ordinal: %s - returning NONE.", ordinal)); + + return NONE; + } + @Override public String toString() { return name; diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Social.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Social.java index 7c7b69c9ae..0c958983fe 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Social.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Social.java @@ -18,10 +18,11 @@ */ package mekhq.campaign.personnel.randomEvents.enums.personalities; -import java.util.ResourceBundle; - +import megamek.logging.MMLogger; import mekhq.MekHQ; +import java.util.ResourceBundle; + public enum Social { // region Enum Declarations NONE("Personality.NONE.text", "Personality.NONE.description", false, false), @@ -101,130 +102,9 @@ public boolean isTraitMajor() { // endregion Getters // region Boolean Comparison Methods - public boolean isNone() { return this == NONE; } - - public boolean isAltruistic() { - return this == ALTRUISTIC; - } - - public boolean isApathetic() { - return this == APATHETIC; - } - - public boolean isAuthentic() { - return this == AUTHENTIC; - } - - public boolean isBlunt() { - return this == BLUNT; - } - - public boolean isCallous() { - return this == CALLOUS; - } - - public boolean isCompassionate() { - return this == COMPASSIONATE; - } - - public boolean isCondescending() { - return this == CONDESCENDING; - } - - public boolean isConsiderate() { - return this == CONSIDERATE; - } - - public boolean isDisingenuous() { - return this == DISINGENUOUS; - } - - public boolean isDismissive() { - return this == DISMISSIVE; - } - - public boolean isEncouraging() { - return this == ENCOURAGING; - } - - public boolean isErratic() { - return this == ERRATIC; - } - - public boolean isEmpathetic() { - return this == EMPATHETIC; - } - - public boolean isFriendly() { - return this == FRIENDLY; - } - - public boolean isGregarious() { - return this == GREGARIOUS; - } - - public boolean isInspiring() { - return this == INSPIRING; - } - - public boolean isIndifferent() { - return this == INDIFFERENT; - } - - public boolean isIntroverted() { - return this == INTROVERTED; - } - - public boolean isIrritable() { - return this == IRRITABLE; - } - - public boolean isNarcissistic() { - return this == NARCISSISTIC; - } - - public boolean isNeglectful() { - return this == NEGLECTFUL; - } - - public boolean isPompous() { - return this == POMPOUS; - } - - public boolean isPetty() { - return this == PETTY; - } - - public boolean isPersuasive() { - return this == PERSUASIVE; - } - - public boolean isReceptive() { - return this == RECEPTIVE; - } - - public boolean isScheming() { - return this == SCHEMING; - } - - public boolean isSincere() { - return this == SINCERE; - } - - public boolean isSupportive() { - return this == SUPPORTIVE; - } - - public boolean isTactful() { - return this == TACTFUL; - } - - public boolean isUntrustworthy() { - return this == UNTRUSTWORTHY; - } // endregion Boolean Comparison Methods // region File I/O @@ -237,7 +117,7 @@ public boolean isUntrustworthy() { * @throws IllegalStateException if the given string does not match any valid * Social */ - + @Deprecated public static Social parseFromString(final String social) { return switch (social) { case "0", "None" -> NONE; @@ -281,54 +161,23 @@ public static Social parseFromString(final String social) { } /** - * Parses an integer value into an Social enum. + * Returns the {@link Social} associated with the given ordinal. * - * @param social the integer value representing the Social level - * @return the corresponding Social enum value - * @throws IllegalStateException if the integer value does not correspond to any - * valid Social enum value + * @param ordinal the ordinal value of the {@link Social} + * @return the {@link Social} associated with the given ordinal, or default value + * {@code NONE} if not found */ + public static Social fromOrdinal(int ordinal) { + for (Social social : values()) { + if (social.ordinal() == ordinal) { + return social; + } + } - public static Social parseFromInt(final int social) { - return switch (social) { - case 0 -> NONE; - // Minor Characteristics - case 1 -> APATHETIC; - case 2 -> AUTHENTIC; - case 3 -> BLUNT; - case 4 -> CALLOUS; - case 5 -> CONDESCENDING; - case 6 -> CONSIDERATE; - case 7 -> DISINGENUOUS; - case 8 -> DISMISSIVE; - case 9 -> ENCOURAGING; - case 10 -> ERRATIC; - case 11 -> EMPATHETIC; - case 12 -> FRIENDLY; - case 13 -> INSPIRING; - case 14 -> INDIFFERENT; - case 15 -> INTROVERTED; - case 16 -> IRRITABLE; - case 17 -> NEGLECTFUL; - case 18 -> PETTY; - case 19 -> PERSUASIVE; - case 20 -> RECEPTIVE; - case 21 -> SINCERE; - case 22 -> SUPPORTIVE; - case 23 -> TACTFUL; - case 24 -> UNTRUSTWORTHY; - // Major Characteristics - case 25 -> ALTRUISTIC; - case 26 -> COMPASSIONATE; - case 27 -> GREGARIOUS; - case 28 -> NARCISSISTIC; - case 29 -> POMPOUS; - case 30 -> SCHEMING; - default -> - throw new IllegalStateException( - "Unexpected value in mekhq/campaign/personnel/enums/randomEvents/personalities/Social.java/parseFromInt: " - + social); - }; + final MMLogger logger = MMLogger.create(Social.class); + logger.error(String.format("Unknown Social ordinal: %s - returning NONE.", ordinal)); + + return NONE; } @Override From 8168f6f20cd3e1e4954987048c0476592a0e2fdb Mon Sep 17 00:00:00 2001 From: IllianiCBT Date: Sun, 20 Oct 2024 18:47:44 -0500 Subject: [PATCH 2/3] Remove redundant personality comparison methods Removed multiple redundant boolean comparison methods from Aggression, Ambition, and Greed enums. The simplification reduces code bloat and enhances maintainability by avoiding unnecessary duplication. --- .../enums/personalities/Aggression.java | 120 ----------------- .../enums/personalities/Ambition.java | 121 ------------------ .../enums/personalities/Greed.java | 121 ------------------ 3 files changed, 362 deletions(-) diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java index 71240f83ac..296b994f75 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Aggression.java @@ -107,126 +107,6 @@ public boolean isTraitMajor() { public boolean isNone() { return this == NONE; } - - public boolean isBloodthirsty() { - return this == BLOODTHIRSTY; - } - - public boolean isBold() { - return this == BOLD; - } - - public boolean isAggressive() { - return this == AGGRESSIVE; - } - - public boolean isAssertive() { - return this == ASSERTIVE; - } - - public boolean isBelligerent() { - return this == BELLIGERENT; - } - - public boolean isBrash() { - return this == BRASH; - } - - public boolean isConfident() { - return this == CONFIDENT; - } - - public boolean isCourageous() { - return this == COURAGEOUS; - } - - public boolean isDaring() { - return this == DARING; - } - - public boolean isDecisive() { - return this == DECISIVE; - } - - public boolean isDetermined() { - return this == DETERMINED; - } - - public boolean isDiplomatic() { - return this == DIPLOMATIC; - } - - public boolean isDomineering() { - return this == DOMINEERING; - } - - public boolean isFearless() { - return this == FEARLESS; - } - - public boolean isHostile() { - return this == HOSTILE; - } - - public boolean isHotHeaded() { - return this == HOT_HEADED; - } - - public boolean isImpetuous() { - return this == IMPETUOUS; - } - - public boolean isImpulsive() { - return this == IMPULSIVE; - } - - public boolean isInflexible() { - return this == INFLEXIBLE; - } - - public boolean isIntrepid() { - return this == INTREPID; - } - - public boolean isMurderous() { - return this == MURDEROUS; - } - - public boolean isOverbearing() { - return this == OVERBEARING; - } - - public boolean isPacifistic() { - return this == PACIFISTIC; - } - - public boolean isReckless() { - return this == RECKLESS; - } - - public boolean isResolute() { - return this == RESOLUTE; - } - - public boolean isSadistic() { - return this == SADISTIC; - } - - public boolean isSavage() { - return this == SAVAGE; - } - - public boolean isStubborn() { - return this == STUBBORN; - } - - public boolean isTenacious() { - return this == TENACIOUS; - } - - public boolean isVigilant() { - return this == VIGILANT; - } // endregion Boolean Comparison Methods // region File I/O diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java index 2b59f3a032..7f68f04fad 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Ambition.java @@ -102,130 +102,9 @@ public boolean isTraitMajor() { // endregion Getters // region Boolean Comparison Methods - public boolean isNone() { return this == NONE; } - - public boolean isAmbitious() { - return this == AMBITIOUS; - } - - public boolean isArrogant() { - return this == ARROGANT; - } - - public boolean isAspiring() { - return this == ASPIRING; - } - - public boolean isCalculating() { - return this == CALCULATING; - } - - public boolean isConniving() { - return this == CONNIVING; - } - - public boolean isControlling() { - return this == CONTROLLING; - } - - public boolean isCutthroat() { - return this == CUTTHROAT; - } - - public boolean isDishonest() { - return this == DISHONEST; - } - - public boolean isDiligent() { - return this == DILIGENT; - } - - public boolean isDriven() { - return this == DRIVEN; - } - - public boolean isEnergetic() { - return this == ENERGETIC; - } - - public boolean isExcessive() { - return this == EXCESSIVE; - } - - public boolean isFocused() { - return this == FOCUSED; - } - - public boolean isGoalOriented() { - return this == GOAL_ORIENTED; - } - - public boolean isInnovative() { - return this == INNOVATIVE; - } - - public boolean isManipulative() { - return this == MANIPULATIVE; - } - - public boolean isMotivated() { - return this == MOTIVATED; - } - - public boolean isOpportunistic() { - return this == OPPORTUNISTIC; - } - - public boolean isOverconfident() { - return this == OVERCONFIDENT; - } - - public boolean isPersistent() { - return this == PERSISTENT; - } - - public boolean isProactive() { - return this == PROACTIVE; - } - - public boolean isResilient() { - return this == RESILIENT; - } - - public boolean isResourceful() { - return this == RESOURCEFUL; - } - - public boolean isRuthless() { - return this == RUTHLESS; - } - - public boolean isSelfish() { - return this == SELFISH; - } - - public boolean isStrategic() { - return this == STRATEGIC; - } - - public boolean isTyrannical() { - return this == TYRANNICAL; - } - - public boolean isUnambitious() { - return this == UNAMBITIOUS; - } - - public boolean isUnscrupulous() { - return this == UNSCRUPULOUS; - } - - public boolean isVisionary() { - return this == VISIONARY; - } // endregion Boolean Comparison Methods // region File I/O diff --git a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java index e0e9f2f5ac..e63bc71c94 100644 --- a/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java +++ b/MekHQ/src/mekhq/campaign/personnel/randomEvents/enums/personalities/Greed.java @@ -102,130 +102,9 @@ public boolean isTraitMajor() { // endregion Getters // region Boolean Comparison Methods - public boolean isNone() { return this == NONE; } - - public boolean isAstute() { - return this == ASTUTE; - } - - public boolean isAdept() { - return this == ADEPT; - } - - public boolean isAvaricious() { - return this == AVARICIOUS; - } - - public boolean isCorrupt() { - return this == CORRUPT; - } - - public boolean isDynamic() { - return this == DYNAMIC; - } - - public boolean isEager() { - return this == EAGER; - } - - public boolean isEnterprising() { - return this == ENTERPRISING; - } - - public boolean isExploitative() { - return this == EXPLOITATIVE; - } - - public boolean isFraudulent() { - return this == FRAUDULENT; - } - - public boolean isGenerous() { - return this == GENEROUS; - } - - public boolean isGreedy() { - return this == GREEDY; - } - - public boolean isHoarding() { - return this == HOARDING; - } - - public boolean isInsatiable() { - return this == INSATIABLE; - } - - public boolean isInsightful() { - return this == INSIGHTFUL; - } - - public boolean isIntuitive() { - return this == INTUITIVE; - } - - public boolean isJudicious() { - return this == JUDICIOUS; - } - - public boolean isLustful() { - return this == LUSTFUL; - } - - public boolean isMercenary() { - return this == MERCENARY; - } - - public boolean isMeticulous() { - return this == METICULOUS; - } - - public boolean isNefarious() { - return this == NEFARIOUS; - } - - public boolean isOverreaching() { - return this == OVERREACHING; - } - - public boolean isProfitable() { - return this == PROFITABLE; - } - - public boolean isSavvy() { - return this == SAVVY; - } - - public boolean isSelfServing() { - return this == SELF_SERVING; - } - - public boolean isShameless() { - return this == SHAMELESS; - } - - public boolean isShrewd() { - return this == SHREWD; - } - - public boolean isTactical() { - return this == TACTICAL; - } - - public boolean isThief() { - return this == THIEF; - } - - public boolean isUnprincipled() { - return this == UNPRINCIPLED; - } - - public boolean isVoracious() { - return this == VORACIOUS; - } // endregion Boolean Comparison Methods // region File I/O From 0f8cd21eadc149ca2a995fc58dd345a6cd82af32 Mon Sep 17 00:00:00 2001 From: IllianiCBT Date: Sun, 20 Oct 2024 18:49:41 -0500 Subject: [PATCH 3/3] Add line continuation to long description properties Improved readability by adding line continuation characters in long description strings of personality traits in Personalities.properties. This change helps maintain clarity and manage lines within the 80-character limit. --- .../mekhq/resources/Personalities.properties | 1426 ++++++++++++++--- 1 file changed, 1182 insertions(+), 244 deletions(-) diff --git a/MekHQ/resources/mekhq/resources/Personalities.properties b/MekHQ/resources/mekhq/resources/Personalities.properties index 84c355370e..856dbf82f5 100644 --- a/MekHQ/resources/mekhq/resources/Personalities.properties +++ b/MekHQ/resources/mekhq/resources/Personalities.properties @@ -1,505 +1,1443 @@ # Default Personality.NONE.text=None Personality.NONE.description=ERROR: THIS SHOULDN'T BE VISIBLE! + Intelligence.AVERAGE.text=Average Intelligence.AVERAGE.description=ERROR: THIS SHOULDN'T BE VISIBLE! # Aggression Aggression.BLOODTHIRSTY.text=Bloodthirsty -Aggression.BLOODTHIRSTY.description=%s exhibit%s a relentless and savage desire for violence, never hesitating to engage in brutal conflict. +Aggression.BLOODTHIRSTY.description=%s exhibit%s a relentless and savage desire for violence, never\ + \ hesitating to engage in brutal conflict. + Aggression.BOLD.text=Bold -Aggression.BOLD.description=%s face%s challenges head-on with courage and confidence, unafraid to take risks or stand out. +Aggression.BOLD.description=%s face%s challenges head-on with courage and confidence, unafraid to take\ + \ risks or stand out. + Aggression.AGGRESSIVE.text=Aggressive -Aggression.AGGRESSIVE.description=%s consistently pursue%s goals with intense and forceful determination, often dominating situations with assertive behavior. +Aggression.AGGRESSIVE.description=%s consistently pursue%s goals with intense and forceful determination,\ + \ often dominating situations with assertive behavior. + Aggression.ASSERTIVE.text=Assertive -Aggression.ASSERTIVE.description=%s communicate%s confidently and directly, ensuring their needs and opinions are clearly understood without being overbearing. +Aggression.ASSERTIVE.description=%s communicate%s confidently and directly, ensuring their needs and\ + \ opinions are clearly understood without being overbearing. + Aggression.BELLIGERENT.text=Belligerent -Aggression.BELLIGERENT.description=%s frequently engage%s in confrontations and disputes, often displaying a combative and hostile attitude. +Aggression.BELLIGERENT.description=%s frequently engage%s in confrontations and disputes, often displaying\ + \ a combative and hostile attitude. + Aggression.BRASH.text=Brash -Aggression.BRASH.description=%s act%s with impulsive boldness, often making decisions without considering the consequences. +Aggression.BRASH.description=%s act%s with impulsive boldness, often making decisions without considering\ + \ the consequences. + Aggression.CONFIDENT.text=Confident -Aggression.CONFIDENT.description=%s hold%s an unwavering belief in their abilities, exuding self-assurance in every situation. +Aggression.CONFIDENT.description=%s hold%s an unwavering belief in their abilities, exuding self-assurance\ + \ in every situation. + Aggression.COURAGEOUS.text=Courageous -Aggression.COURAGEOUS.description=%s face%s danger and adversity with remarkable bravery and a steady resolve. +Aggression.COURAGEOUS.description=%s face%s danger and adversity with remarkable bravery and a steady\ + \ resolve. + Aggression.DARING.text=Daring -Aggression.DARING.description=%s embrace%s risky and adventurous endeavors with a bold and fearless spirit. +Aggression.DARING.description=%s embrace%s risky and adventurous endeavors with a bold and fearless\ + \ spirit. + Aggression.DECISIVE.text=Decisive -Aggression.DECISIVE.description=%s make%s clear and effective decisions swiftly, even under pressure, demonstrating strong judgment and confidence. +Aggression.DECISIVE.description=%s make%s clear and effective decisions swiftly, even under pressure,\ + \ demonstrating strong judgment and confidence. + Aggression.DETERMINED.text=Determined -Aggression.DETERMINED.description=%s pursue%s their goals with unwavering resolve and persistence, overcoming obstacles with steadfast dedication. +Aggression.DETERMINED.description=%s pursue%s their goals with unwavering resolve and persistence,\ + \ overcoming obstacles with steadfast dedication. + Aggression.DIPLOMATIC.text=Diplomatic -Aggression.DIPLOMATIC.description=%s navigate%s complex situations with tact and sensitivity, skillfully managing relationships and conflicts with a balanced approach. +Aggression.DIPLOMATIC.description=%s navigate%s complex situations with tact and sensitivity, skillfully\ + \ managing relationships and conflicts with a balanced approach. + Aggression.DOMINEERING.text=Domineering -Aggression.DOMINEERING.description=%s exert%s excessive control and influence over others, often imposing their will in a commanding and authoritative manner. +Aggression.DOMINEERING.description=%s exert%s excessive control and influence over others, often imposing\ + \ their will in a commanding and authoritative manner. + Aggression.FEARLESS.text=Fearless -Aggression.FEARLESS.description=%s confront%s every challenge with unwavering bravery, undeterred by potential dangers or risks. +Aggression.FEARLESS.description=%s confront%s every challenge with unwavering bravery, undeterred by\ + \ potential dangers or risks. + Aggression.HOSTILE.text=Hostile -Aggression.HOSTILE.description=%s consistently exhibit%s a negative and antagonistic attitude, often showing open antagonism or aggression towards others. +Aggression.HOSTILE.description=%s consistently exhibit%s a negative and antagonistic attitude, often\ + \ showing open antagonism or aggression towards others. + Aggression.HOT_HEADED.text=Hot-Headed -Aggression.HOT_HEADED.description=%s react%s impulsively and with intense emotion, often allowing anger or frustration to dictate their actions. +Aggression.HOT_HEADED.description=%s react%s impulsively and with intense emotion, often allowing anger\ + \ or frustration to dictate their actions. + Aggression.IMPETUOUS.text=Impetuous -Aggression.IMPETUOUS.description=%s act%s with sudden and passionate decisions, often without fully considering the consequences or potential risks. +Aggression.IMPETUOUS.description=%s act%s with sudden and passionate decisions, often without fully\ + \ considering the consequences or potential risks. + Aggression.IMPULSIVE.text=Impulsive -Aggression.IMPULSIVE.description=%s make%s spontaneous decisions and actions based on immediate desires or emotions, frequently without thorough planning or forethought. +Aggression.IMPULSIVE.description=%s make%s spontaneous decisions and actions based on immediate desires\ + \ or emotions, frequently without thorough planning or forethought. + Aggression.INFLEXIBLE.text=Inflexible -Aggression.INFLEXIBLE.description=%s stick%s rigidly to their views or methods, often resisting change or adaptation even in the face of new information or circumstances. +Aggression.INFLEXIBLE.description=%s stick%s rigidly to their views or methods, often resisting change\ + \ or adaptation even in the face of new information or circumstances. + Aggression.INTREPID.text=Intrepid -Aggression.INTREPID.description=%s face%s challenges and dangers with unwavering bravery and adventurous spirit, showing a fearless commitment to exploring the unknown. +Aggression.INTREPID.description=%s face%s challenges and dangers with unwavering bravery and adventurous\ + \ spirit, showing a fearless commitment to exploring the unknown. + Aggression.MURDEROUS.text=Murderous -Aggression.MURDEROUS.description=%s exhibit%s a chilling and relentless intent to cause harm or death, displaying a violent and ruthless demeanor. +Aggression.MURDEROUS.description=%s exhibit%s a chilling and relentless intent to cause harm or death,\ + \ displaying a violent and ruthless demeanor. + Aggression.OVERBEARING.text=Overbearing -Aggression.OVERBEARING.description=%s impose%s their will on others with excessive forcefulness, often disregarding others' opinions and preferences in favor of their own. +Aggression.OVERBEARING.description=%s impose%s their will on others with excessive forcefulness, often\ + \ disregarding others' opinions and preferences in favor of their own. + Aggression.PACIFISTIC.text=Pacifistic -Aggression.PACIFISTIC.description=%s consistently avoid%s conflict and strives for peaceful resolutions, prioritizing harmony and nonviolence in their interactions. +Aggression.PACIFISTIC.description=%s consistently avoid%s conflict and strives for peaceful resolutions,\ + \ prioritizing harmony and nonviolence in their interactions. + Aggression.RECKLESS.text=Reckless -Aggression.RECKLESS.description=%s act%s with a lack of caution or consideration for potential dangers, often taking significant risks without regard for the consequences. +Aggression.RECKLESS.description=%s act%s with a lack of caution or consideration for potential dangers,\ + \ often taking significant risks without regard for the consequences. + Aggression.RESOLUTE.text=Resolute -Aggression.RESOLUTE.description=%s remain%s steadfast and unwavering in their purpose or decision, showing strong determination and commitment despite challenges. +Aggression.RESOLUTE.description=%s remain%s steadfast and unwavering in their purpose or decision,\ + \ showing strong determination and commitment despite challenges. + Aggression.SADISTIC.text=Sadistic -Aggression.SADISTIC.description=%s derive%s pleasure from inflicting pain or suffering on others, exhibiting cruel and malicious enjoyment of others' distress. +Aggression.SADISTIC.description=%s derive%s pleasure from inflicting pain or suffering on others,\ + \ exhibiting cruel and malicious enjoyment of others' distress. + Aggression.SAVAGE.text=Savage -Aggression.SAVAGE.description=%s display%s a brutal and ferocious nature, engaging in actions or behavior with ruthless aggression and a lack of compassion. +Aggression.SAVAGE.description=%s display%s a brutal and ferocious nature, engaging in actions or\ + \ behavior with ruthless aggression and a lack of compassion. + Aggression.STUBBORN.text=Stubborn -Aggression.STUBBORN.description=%s adhere%s firmly to their own beliefs or decisions, often resisting change or compromise despite strong arguments or evidence. +Aggression.STUBBORN.description=%s adhere%s firmly to their own beliefs or decisions, often resisting\ + \ change or compromise despite strong arguments or evidence. + Aggression.TENACIOUS.text=Tenacious -Aggression.TENACIOUS.description=%s cling%s resolutely to their goals and endeavors, showing relentless perseverance and determination in the face of obstacles. +Aggression.TENACIOUS.description=%s cling%s resolutely to their goals and endeavors, showing relentless\ + \ perseverance and determination in the face of obstacles. + Aggression.VIGILANT.text=Vigilant -Aggression.VIGILANT.description=%s remain%s constantly alert and watchful, carefully monitoring their surroundings and potential threats to ensure safety and readiness. +Aggression.VIGILANT.description=%s remain%s constantly alert and watchful, carefully monitoring their\ + \ surroundings and potential threats to ensure safety and readiness. # Ambition Ambition.AMBITIOUS.text=Ambitious -Ambition.AMBITIOUS.description=%s demonstrate%s a strong desire to achieve great things and advance, driven by a clear vision and determination to reach high goals. +Ambition.AMBITIOUS.description=%s demonstrate%s a strong desire to achieve great things and advance,\ + \ driven by a clear vision and determination to reach high goals. + Ambition.ARROGANT.text=Arrogant -Ambition.ARROGANT.description=%s exhibit%s an inflated sense of self-importance and superiority, often dismissing others' opinions and capabilities with condescension. +Ambition.ARROGANT.description=%s exhibit%s an inflated sense of self-importance and superiority, often\ + \ dismissing others' opinions and capabilities with condescension. + Ambition.ASPIRING.text=Aspiring -Ambition.ASPIRING.description=%s strive%s to achieve their goals and reach new heights, consistently striving towards personal or professional growth. +Ambition.ASPIRING.description=%s strive%s to achieve their goals and reach new heights, consistently\ + \ striving towards personal or professional growth. + Ambition.CALCULATING.text=Calculating -Ambition.CALCULATING.description=%s confront%s situations with careful and strategic thought, often making decisions based on thorough analysis and expecting potential outcomes. +Ambition.CALCULATING.description=%s confront%s situations with careful and strategic thought, often\ + \ making decisions based on thorough analysis and expecting potential outcomes. + Ambition.CONNIVING.text=Conniving -Ambition.CONNIVING.description=%s engage%s in secretive and deceitful behavior to manipulate situations and achieve their own ends, often at the expense of others. +Ambition.CONNIVING.description=%s engage%s in secretive and deceitful behavior to manipulate situations\ + \ and achieve their own ends, often at the expense of others. + Ambition.CONTROLLING.text=Controlling -Ambition.CONTROLLING.description=%s exert%s a dominant influence over people and situations, often seeking to dictate or manage every detail to maintain power and authority. +Ambition.CONTROLLING.description=%s exert%s a dominant influence over people and situations, often\ + \ seeking to dictate or manage every detail to maintain power and authority. + Ambition.CUTTHROAT.text=Cutthroat -Ambition.CUTTHROAT.description=%s pursue%s their goals with ruthless determination, often disregarding ethics and using aggressive tactics to outmaneuver and defeat others. +Ambition.CUTTHROAT.description=%s pursue%s their goals with ruthless determination, often disregarding\ + \ ethics and using aggressive tactics to outmaneuver and defeat others. + Ambition.DISHONEST.text=Dishonest -Ambition.DISHONEST.description=%s frequently misrepresent%s the truth or engages in deceitful behavior, often to manipulate others or gain an unfair advantage. +Ambition.DISHONEST.description=%s frequently misrepresent%s the truth or engages in deceitful behavior,\ + \ often to manipulate others or gain an unfair advantage. + Ambition.DILIGENT.text=Diligent -Ambition.DILIGENT.description=%s consistently show%s thorough effort and careful attention to their work, demonstrating a strong commitment to completing tasks with precision and reliability. +Ambition.DILIGENT.description=%s consistently show%s thorough effort and careful attention to their work,\ + \ demonstrating a strong commitment to completing tasks with precision and reliability. + Ambition.DRIVEN.text=Driven -Ambition.DRIVEN.description=%s demonstrate%s a strong inner motivation and determination, relentlessly pursuing their goals and ambitions with focused energy and persistence. +Ambition.DRIVEN.description=%s demonstrate%s a strong inner motivation and determination, relentlessly\ + \ pursuing their goals and ambitions with focused energy and persistence. + Ambition.ENERGETIC.text=Energetic -Ambition.ENERGETIC.description=%s tackle%s tasks and activities with high levels of enthusiasm and vitality, bringing a lively and dynamic presence to everything they do. +Ambition.ENERGETIC.description=%s tackle%s tasks and activities with high levels of enthusiasm and vitality,\ + \ bringing a lively and dynamic presence to everything they do. + Ambition.EXCESSIVE.text=Excessive -Ambition.EXCESSIVE.description=%s often show%s over-the-top behavior or indulgence that exceeds what is necessary or appropriate. +Ambition.EXCESSIVE.description=%s often show%s over-the-top behavior or indulgence that exceeds what\ + \ is necessary or appropriate. + Ambition.FOCUSED.text=Focused -Ambition.FOCUSED.description=%s maintain%s a clear and determined concentration on their goals, effectively directing their attention and efforts to achieve specific goals without distraction. +Ambition.FOCUSED.description=%s maintain%s a clear and determined concentration on their goals, effectively\ + \ directing their attention and efforts to achieve specific goals without distraction. + Ambition.GOAL_ORIENTED.text=Goal-Oriented -Ambition.GOAL_ORIENTED.description=%s direct%s their efforts and energy towards achieving specific goals, consistently prioritizing and working towards defined targets with purpose and determination. +Ambition.GOAL_ORIENTED.description=%s direct%s their efforts and energy towards achieving specific goals,\ + \ consistently prioritizing and working towards defined targets with purpose and determination. + Ambition.INNOVATIVE.text=Innovative -Ambition.INNOVATIVE.description=%s consistently introduce%s new ideas and approaches, demonstrating creativity and originality in solving problems and driving progress. +Ambition.INNOVATIVE.description=%s consistently introduce%s new ideas and approaches, demonstrating\ + \ creativity and originality in solving problems and driving progress. + Ambition.MANIPULATIVE.text=Manipulative -Ambition.MANIPULATIVE.description=%s skillfully influence%s and controls others through cunning or deceitful tactics, often to achieve their own ends or gain an advantage. +Ambition.MANIPULATIVE.description=%s skillfully influence%s and controls others through cunning or\ + \ deceitful tactics, often to achieve their own ends or gain an advantage. + Ambition.MOTIVATED.text=Motivated -Ambition.MOTIVATED.description=%s pride%s themselves on a strong sense of purpose and enthusiasm, actively pursuing their goals with energy and commitment. +Ambition.MOTIVATED.description=%s pride%s themselves on a strong sense of purpose and enthusiasm,\ + \ actively pursuing their goals with energy and commitment. + Ambition.OPPORTUNISTIC.text=Opportunistic -Ambition.OPPORTUNISTIC.description=%s take%s advantage of favorable circumstances or situations to advance their own interests, often capitalizing on opportunities as they arise without regard for long-term consequences. +Ambition.OPPORTUNISTIC.description=%s take%s advantage of favorable circumstances or situations to\ + \ advance their own interests, often capitalizing on opportunities as they arise without regard for\ + \ long-term consequences. + Ambition.OVERCONFIDENT.text=Overconfident -Ambition.OVERCONFIDENT.description=%s display%s an excessive sense of self-assurance, often underestimating risks and overestimating their own abilities or knowledge. +Ambition.OVERCONFIDENT.description=%s display%s an excessive sense of self-assurance, often underestimating\ + \ risks and overestimating their own abilities or knowledge. + Ambition.PERSISTENT.text=Persistent -Ambition.PERSISTENT.description=%s continue%s to pursue their goals with unwavering determination, refusing to give up despite challenges or setbacks. +Ambition.PERSISTENT.description=%s continue%s to pursue their goals with unwavering determination,\ + \ refusing to give up despite challenges or setbacks. + Ambition.PROACTIVE.text=Proactive -Ambition.PROACTIVE.description=%s take%s initiative and anticipates potential issues, actively making plans and taking action to address them before they arise. +Ambition.PROACTIVE.description=%s take%s initiative and anticipates potential issues, actively making\ + \ plans and taking action to address them before they arise. + Ambition.RESILIENT.text=Resilient -Ambition.RESILIENT.description=%s recover%s quickly from setbacks and adapts well to adversity, demonstrating the ability to withstand challenges and bounce back stronger. +Ambition.RESILIENT.description=%s recover%s quickly from setbacks and adapts well to adversity,\ + \ demonstrating the ability to withstand challenges and bounce back stronger. + Ambition.RESOURCEFUL.text=Resourceful -Ambition.RESOURCEFUL.description=%s effectively utilize%s available resources and creative problem-solving skills to overcome obstacles and achieve goals, often finding innovative solutions with limited means. +Ambition.RESOURCEFUL.description=%s effectively utilize%s available resources and creative problem-solving\ + \ skills to overcome obstacles and achieve goals, often finding innovative solutions with limited means. + Ambition.RUTHLESS.text=Ruthless -Ambition.RUTHLESS.description=%s pursue%s their goals with a lack of compassion or regard for others, often making harsh decisions and taking aggressive actions without a concern for the consequences. +Ambition.RUTHLESS.description=%s pursue%s their goals with a lack of compassion or regard for others,\ + \ often making harsh decisions and taking aggressive actions without a concern for the consequences. + Ambition.SELFISH.text=Selfish -Ambition.SELFISH.description=%s prioritize%s their own needs and desires above others, often disregarding the impact of their actions on those around them. +Ambition.SELFISH.description=%s prioritize%s their own needs and desires above others, often disregarding\ + \ the impact of their actions on those around them. + Ambition.STRATEGIC.text=Strategic -Ambition.STRATEGIC.description=%s plan%s and executes actions with careful consideration of long-term goals and potential outcomes, using thoughtful and calculated approaches to achieve success. +Ambition.STRATEGIC.description=%s plan%s and executes actions with careful consideration of long-term\ + \ goals and potential outcomes, using thoughtful and calculated approaches to achieve success. + Ambition.TYRANNICAL.text=Tyrannical -Ambition.TYRANNICAL.description=%s rule%s with absolute power and oppression, often imposing harsh and authoritarian control over others with little regard for their freedoms or well-being. +Ambition.TYRANNICAL.description=%s rule%s with absolute power and oppression, often imposing harsh and\ + \ authoritarian control over others with little regard for their freedoms or well-being. + Ambition.UNAMBITIOUS.text=Unambitious -Ambition.UNAMBITIOUS.description=%s lack%s strong motivation or desire to achieve significant goals, showing little interest in pursuing advancement or improvement. +Ambition.UNAMBITIOUS.description=%s lack%s strong motivation or desire to achieve significant goals,\ + \ showing little interest in pursuing advancement or improvement. + Ambition.UNSCRUPULOUS.text=Unscrupulous -Ambition.UNSCRUPULOUS.description=%s engage%s in actions without moral principles or ethical considerations, often using deceit or unethical methods to achieve their ends. +Ambition.UNSCRUPULOUS.description=%s engage%s in actions without moral principles or ethical considerations,\ + \ often using deceit or unethical methods to achieve their ends. + Ambition.VISIONARY.text=Visionary -Ambition.VISIONARY.description=%s show%s a clear and imaginative foresight of future possibilities, often inspiring and guiding others with innovative ideas and a long-term perspective. +Ambition.VISIONARY.description=%s show%s a clear and imaginative foresight of future possibilities,\ + \ often inspiring and guiding others with innovative ideas and a long-term perspective. # Greed Greed.ASTUTE.text=Astute -Greed.ASTUTE.description=%s display%s sharp intelligence and perceptiveness, skillfully understanding and navigating complex situations with keen insight and strategic thinking. +Greed.ASTUTE.description=%s display%s sharp intelligence and perceptiveness, skillfully understanding\ + \ and navigating complex situations with keen insight and strategic thinking. + Greed.ADEPT.text=Adept -Greed.ADEPT.description=%s demonstrate%s exceptional skill and proficiency in their field, effectively handling tasks with expertise and competence. +Greed.ADEPT.description=%s demonstrate%s exceptional skill and proficiency in their field, effectively\ + \ handling tasks with expertise and competence. + Greed.AVARICIOUS.text=Avaricious -Greed.AVARICIOUS.description=%s exhibit%s an insatiable and greedy desire for wealth or material gain, often prioritizing their own financial interests over ethical considerations. +Greed.AVARICIOUS.description=%s exhibit%s an insatiable and greedy desire for wealth or material gain,\ + \ often prioritizing their own financial interests over ethical considerations. + Greed.CORRUPT.text=Corrupt -Greed.CORRUPT.description=%s engage%s in unethical or illegal activities, often exploiting their position or power for personal gain at the expense of integrity and fairness. +Greed.CORRUPT.description=%s engage%s in unethical or illegal activities, often exploiting their\ + \ position or power for personal gain at the expense of integrity and fairness. + Greed.DYNAMIC.text=Dynamic -Greed.DYNAMIC.description=%s demonstrate%s constant change and energy, bringing a vibrant and adaptable approach to their work and interactions, often thriving in evolving environments. +Greed.DYNAMIC.description=%s demonstrate%s constant change and energy, bringing a vibrant and adaptable\ + \ approach to their work and interactions, often thriving in evolving environments. + Greed.EAGER.text=Eager -Greed.EAGER.description=%s confront%s tasks and opportunities with enthusiastic anticipation and a strong desire to get involved and make progress. +Greed.EAGER.description=%s confront%s tasks and opportunities with enthusiastic anticipation and a\ + \ strong desire to get involved and make progress. + Greed.ENTERPRISING.text=Enterprising -Greed.ENTERPRISING.description=%s display%s a proactive and inventive approach to identifying and pursuing new opportunities, often taking initiative to start projects and ventures with creativity and resourcefulness. +Greed.ENTERPRISING.description=%s display%s a proactive and inventive approach to identifying and\ + \ pursuing new opportunities, often taking initiative to start projects and ventures with creativity\ + \ and resourcefulness. + Greed.EXPLOITATIVE.text=Exploitative -Greed.EXPLOITATIVE.description=%s take%s advantage of others' vulnerabilities or resources for personal gain, often prioritizing their own benefit over fairness and ethical considerations. +Greed.EXPLOITATIVE.description=%s take%s advantage of others' vulnerabilities or resources for personal\ + \ gain, often prioritizing their own benefit over fairness and ethical considerations. + Greed.FRAUDULENT.text=Fraudulent -Greed.FRAUDULENT.description=%s engage%s in deceitful practices or misrepresentations, often with the intent to deceive others and gain an unfair advantage or benefit. +Greed.FRAUDULENT.description=%s engage%s in deceitful practices or misrepresentations, often with the\ + \ intent to deceive others and gain an unfair advantage or benefit. + Greed.GENEROUS.text=Generous -Greed.GENEROUS.description=%s show%s a willingness to give and share freely, often extending kindness and support to others without expecting anything in return. +Greed.GENEROUS.description=%s show%s a willingness to give and share freely, often extending kindness\ + \ and support to others without expecting anything in return. + Greed.GREEDY.text=Greedy -Greed.GREEDY.description=%s demonstrat%s an excessive and selfish desire for more wealth, possessions, or power, often prioritizing their own accumulation over the needs or well-being of others. +Greed.GREEDY.description=%s demonstrat%s an excessive and selfish desire for more wealth, possessions,\ + \ or power, often prioritizing their own accumulation over the needs or well-being of others. + Greed.HOARDING.text=Hoarding -Greed.HOARDING.description=%s accumulate%s and retains excessive amounts of resources or possessions, often due to a fear of scarcity or a desire for control, while rarely sharing or using them. +Greed.HOARDING.description=%s accumulate%s and retains excessive amounts of resources or possessions,\ + \ often due to a fear of scarcity or a desire for control, while rarely sharing or using them. + Greed.INSATIABLE.text=Insatiable -Greed.INSATIABLE.description=%s show%s an unquenchable and relentless desire for something, continually seeking more and never feeling satisfied or fulfilled. +Greed.INSATIABLE.description=%s show%s an unquenchable and relentless desire for something, continually\ + \ seeking more and never feeling satisfied or fulfilled. + Greed.INSIGHTFUL.text=Insightful -Greed.INSIGHTFUL.description=%s demonstrate%s deep understanding and perceptiveness, providing valuable and clear perspectives on complex situations or ideas. +Greed.INSIGHTFUL.description=%s demonstrate%s deep understanding and perceptiveness, providing valuable\ + \ and clear perspectives on complex situations or ideas. + Greed.INTUITIVE.text=Intuitive -Greed.INTUITIVE.description=%s use%s their instincts and gut feelings to understand and respond to situations, often grasping concepts or making decisions without needing extensive reasoning. +Greed.INTUITIVE.description=%s use%s their instincts and gut feelings to understand and respond to\ + \ situations, often grasping concepts or making decisions without needing extensive reasoning. + Greed.JUDICIOUS.text=Judicious -Greed.JUDICIOUS.description=%s make%s decisions with careful and balanced consideration, using wisdom and sound judgment to evaluate options and potential outcomes. +Greed.JUDICIOUS.description=%s make%s decisions with careful and balanced consideration, using wisdom\ + \ and sound judgment to evaluate options and potential outcomes. + Greed.LUSTFUL.text=Lustful -Greed.LUSTFUL.description=%s exhibit%s an intense and uncontrolled desire for sexual pleasure or gratification, often prioritizing physical attraction and desire. +Greed.LUSTFUL.description=%s exhibit%s an intense and uncontrolled desire for sexual pleasure or\ + \ gratification, often prioritizing physical attraction and desire. + Greed.MERCENARY.text=Mercenary -Greed.MERCENARY.description=%s find%s motivation in financial gain or personal advantage, often prioritizing profit over loyalty or ethical considerations. +Greed.MERCENARY.description=%s find%s motivation in financial gain or personal advantage, often \ + prioritizing profit over loyalty or ethical considerations. + Greed.METICULOUS.text=Meticulous -Greed.METICULOUS.description=%s show%s great attention to detail and precision, carefully ensuring that every aspect of a task or project is executed with accuracy and thoroughness. +Greed.METICULOUS.description=%s show%s great attention to detail and precision, carefully ensuring\ + \ that every aspect of a task or project is executed with accuracy and thoroughness. + Greed.NEFARIOUS.text=Nefarious -Greed.NEFARIOUS.description=%s engage%s in wicked or morally reprehensible actions, often driven by malevolent intentions and a disregard for ethical standards. +Greed.NEFARIOUS.description=%s engage%s in wicked or morally reprehensible actions, often driven by\ + \ malevolent intentions and a disregard for ethical standards. + Greed.OVERREACHING.text=Overreaching -Greed.OVERREACHING.description=%s exceed%s reasonable limits in their ambitions or actions, often attempting to achieve more than is practical or achievable, sometimes leading to negative consequences. +Greed.OVERREACHING.description=%s exceed%s reasonable limits in their ambitions or actions, often\ + \ attempting to achieve more than is practical or achievable, sometimes leading to negative consequences. + Greed.PROFITABLE.text=Profitable -Greed.PROFITABLE.description=%s generate%s significant financial gain or benefit, effectively leveraging resources or opportunities to achieve significant economic success. +Greed.PROFITABLE.description=%s generate%s significant financial gain or benefit, effectively leveraging\ + \ resources or opportunities to achieve significant economic success. + Greed.SAVVY.text=Savvy -Greed.SAVVY.description=%s demonstrate%s practical knowledge and shrewdness, skillfully navigating situations with a clear understanding and strategic approach. +Greed.SAVVY.description=%s demonstrate%s practical knowledge and shrewdness, skillfully navigating\ + \ situations with a clear understanding and strategic approach. + Greed.SELF_SERVING.text=Self-Serving -Greed.SELF_SERVING.description=%s prioritize%s their own interests and benefits, often making decisions and taking actions that advance their personal agenda, sometimes at the expense of others. +Greed.SELF_SERVING.description=%s prioritize%s their own interests and benefits, often making decisions\ + \ and taking actions that advance their personal agenda, sometimes at the expense of others. + Greed.SHAMELESS.text=Shameless -Greed.SHAMELESS.description=%s exhibit%s a blatant disregard for social norms or moral standards, acting with boldness and without any sense of embarrassment or guilt. +Greed.SHAMELESS.description=%s exhibit%s a blatant disregard for social norms or moral standards,\ + \ acting with boldness and without any sense of embarrassment or guilt. + Greed.SHREWD.text=Shrewd -Greed.SHREWD.description=%s hold%s keen judgment and practical intelligence, making astute decisions and navigating complex situations with strategic insight and cunning. +Greed.SHREWD.description=%s hold%s keen judgment and practical intelligence, making astute decisions\ + \ and navigating complex situations with strategic insight and cunning. + Greed.TACTICAL.text=Tactical -Greed.TACTICAL.description=%s employ%s careful planning and strategic maneuvers to achieve specific short-term goals, focusing on immediate actions to support broader goals. +Greed.TACTICAL.description=%s employ%s careful planning and strategic maneuvers to achieve specific\ + \ short-term goals, focusing on immediate actions to support broader goals. + Greed.THIEF.text=Thief -Greed.THIEF.description=%s engage%s in the act of stealing, unlawfully taking others' possessions or property with the intent to benefit themselves at the expense of others. +Greed.THIEF.description=%s engage%s in the act of stealing, unlawfully taking others' possessions or\ + \ property with the intent to benefit themselves at the expense of others. + Greed.UNPRINCIPLED.text=Unprincipled -Greed.UNPRINCIPLED.description=%s lack%s a strong moral code or ethical standards, often engaging in actions or decisions without regard for right or wrong. +Greed.UNPRINCIPLED.description=%s lack%s a strong moral code or ethical standards, often engaging in\ + \ actions or decisions without regard for right or wrong. + Greed.VORACIOUS.text=Voracious -Greed.VORACIOUS.description=%s display%s an intense and eager appetite for something, whether it's food, knowledge, or an activity, often consuming or pursuing it with great enthusiasm and intensity. +Greed.VORACIOUS.description=%s display%s an intense and eager appetite for something, whether it's\ + \ food, knowledge, or an activity, often consuming or pursuing it with great enthusiasm and intensity. # Social Social.ALTRUISTIC.text=Altruistic -Social.ALTRUISTIC.description=%s act%s with genuine concern for the well-being of others, selflessly providing help and support without expecting anything in return. +Social.ALTRUISTIC.description=%s act%s with genuine concern for the well-being of others, selflessly\ + \ providing help and support without expecting anything in return. + Social.APATHETIC.text=Apathetic -Social.APATHETIC.description=%s show%s a lack of interest or concern, demonstrating indifference towards situations or issues that typically would elicit a response or emotion. +Social.APATHETIC.description=%s show%s a lack of interest or concern, demonstrating indifference towards\ + \ situations or issues that typically would elicit a response or emotion. + Social.AUTHENTIC.text=Authentic -Social.AUTHENTIC.description=%s consistently align%s their actions and words with their true values and beliefs, without pretense or deceit. +Social.AUTHENTIC.description=%s consistently align%s their actions and words with their true values\ + \ and beliefs, without pretense or deceit. + Social.BLUNT.text=Blunt -Social.BLUNT.description=%s communicate%s in a direct and straightforward manner, often prioritizing honesty over tact, which can come across as abrupt or harsh. +Social.BLUNT.description=%s communicate%s in a direct and straightforward manner, often prioritizing\ + \ honesty over tact, which can come across as abrupt or harsh. + Social.CALLOUS.text=Callous -Social.CALLOUS.description=%s exhibit%s a lack of empathy or sensitivity, often showing a hardened and indifferent attitude towards others' feelings or suffering. +Social.CALLOUS.description=%s exhibit%s a lack of empathy or sensitivity, often showing a hardened\ + \ and indifferent attitude towards others' feelings or suffering. + Social.COMPASSIONATE.text=Compassionate -Social.COMPASSIONATE.description=%s show%s deep empathy and concern for others, consistently offering kindness and support to those in need. +Social.COMPASSIONATE.description=%s show%s deep empathy and concern for others, consistently offering\ + \ kindness and support to those in need. + Social.CONDESCENDING.text=Condescending -Social.CONDESCENDING.description=%s behave%s in a patronizing manner, treating others as though they're inferior or less important, often with a sense of superiority. +Social.CONDESCENDING.description=%s behave%s in a patronizing manner, treating others as though they're\ + \ inferior or less important, often with a sense of superiority. + Social.CONSIDERATE.text=Considerate -Social.CONSIDERATE.description=%s show%s consideration and is always mindful of others' needs and feelings, taking care to act in ways that show respect and concern for their well-being. +Social.CONSIDERATE.description=%s show%s consideration and is always mindful of others' needs and feelings,\ + \ taking care to act in ways that show respect and concern for their well-being. + Social.DISINGENUOUS.text=Disingenuous -Social.DISINGENUOUS.description=%s present%s a facade of sincerity while concealing their true intentions or feelings, often engaging in deceitful or manipulative behavior. +Social.DISINGENUOUS.description=%s present%s a facade of sincerity while concealing their true intentions\ + \ or feelings, often engaging in deceitful or manipulative behavior. + Social.DISMISSIVE.text=Dismissive -Social.DISMISSIVE.description=%s treat%s others' opinions or concerns with disregard or lack of respect, often brushing them off as unimportant or irrelevant. +Social.DISMISSIVE.description=%s treat%s others' opinions or concerns with disregard or lack of respect,\ + \ often brushing them off as unimportant or irrelevant. + Social.ENCOURAGING.text=Encouraging -Social.ENCOURAGING.description=%s provide%s support and positive reinforcement, motivating others and fostering confidence through uplifting and reassuring words or actions. +Social.ENCOURAGING.description=%s provide%s support and positive reinforcement, motivating others and\ + \ fostering confidence through uplifting and reassuring words or actions. + Social.ERRATIC.text=Erratic -Social.ERRATIC.description=%s exhibit%s unpredictable and inconsistent behavior, often shifting abruptly in actions or moods without a clear pattern or reason. +Social.ERRATIC.description=%s exhibit%s unpredictable and inconsistent behavior, often shifting abruptly\ + \ in actions or moods without a clear pattern or reason. + Social.EMPATHETIC.text=Empathetic -Social.EMPATHETIC.description=%s deeply understand%s and shares the feelings of others, responding with genuine care and concern to their emotions and experiences. +Social.EMPATHETIC.description=%s deeply understand%s and shares the feelings of others, responding\ + \ with genuine care and concern to their emotions and experiences. + Social.FRIENDLY.text=Friendly -Social.FRIENDLY.description=%s interact%s with others in a warm and approachable manner, creating a welcoming and pleasant atmosphere through kindness and openness. +Social.FRIENDLY.description=%s interact%s with others in a warm and approachable manner, creating a\ + \ welcoming and pleasant atmosphere through kindness and openness. + Social.GREGARIOUS.text=Gregarious -Social.GREGARIOUS.description=%s enjoy%s being around others and is highly sociable, thriving in social settings and often seeking out opportunities to connect and interact with people. +Social.GREGARIOUS.description=%s enjoy%s being around others and is highly sociable, thriving in social\ + \ settings and often seeking out opportunities to connect and interact with people. + Social.INSPIRING.text=Inspiring -Social.INSPIRING.description=%s motivate%s and uplifts others through their actions, words, or achievements, encouraging them to pursue their own goals and reach their full potential. +Social.INSPIRING.description=%s motivate%s and uplifts others through their actions, words, or achievements,\ + \ encouraging them to pursue their own goals and reach their full potential. + Social.INDIFFERENT.text=Indifferent -Social.INDIFFERENT.description=%s show%s a lack of interest or concern, displaying emotional detachment and often ignoring or dismissing situations or people. +Social.INDIFFERENT.description=%s show%s a lack of interest or concern, displaying emotional detachment\ + \ and often ignoring or dismissing situations or people. + Social.INTROVERTED.text=Introverted -Social.INTROVERTED.description=%s prefer%s solitude or small, close-knit groups over large social settings, often finding energy and comfort in introspection and personal space. +Social.INTROVERTED.description=%s prefer%s solitude or small, close-knit groups over large social settings,\ + \ often finding energy and comfort in introspection and personal space. + Social.IRRITABLE.text=Irritable -Social.IRRITABLE.description=%s often react%s with impatience or agitation to minor inconveniences or disruptions. +Social.IRRITABLE.description=%s often react%s with impatience or agitation to minor inconveniences or\ + \ disruptions. + Social.NARCISSISTIC.text=Narcissistic -Social.NARCISSISTIC.description=%s display%s an excessive sense of self-importance and a strong need for admiration, often showing a lack of empathy and a preoccupation with their own interests and desires. +Social.NARCISSISTIC.description=%s display%s an excessive sense of self-importance and a strong need\ + \ for admiration, often showing a lack of empathy and a preoccupation with their own interests and\ + \ desires. + Social.NEGLECTFUL.text=Neglectful -Social.NEGLECTFUL.description=%s fail%s to give adequate attention or care to important responsibilities or relationships, often overlooking or disregarding tasks or the needs of others. +Social.NEGLECTFUL.description=%s fail%s to give adequate attention or care to important responsibilities\ + \ or relationships, often overlooking or disregarding tasks or the needs of others. + Social.POMPOUS.text=Pompous -Social.POMPOUS.description=%s display%s an exaggerated sense of self-importance and grandeur, often acting in a boastful and self-satisfied manner. +Social.POMPOUS.description=%s display%s an exaggerated sense of self-importance and grandeur, often\ + \ acting in a boastful and self-satisfied manner. + Social.PETTY.text=Petty -Social.PETTY.description=%s fixate%s on trivial or insignificant matters, often allowing minor issues to cause unnecessary conflict or irritation. +Social.PETTY.description=%s fixate%s on trivial or insignificant matters, often allowing minor issues\ + \ to cause unnecessary conflict or irritation. + Social.PERSUASIVE.text=Persuasive -Social.PERSUASIVE.description=%s effectively convince%s others to adopt their views or take specific actions, using compelling arguments and charm to sway opinions. +Social.PERSUASIVE.description=%s effectively convince%s others to adopt their views or take specific\ + \ actions, using compelling arguments and charm to sway opinions. + Social.RECEPTIVE.text=Receptive -Social.RECEPTIVE.description=%s show%s a willingness to listen and consider different perspectives, they're open and responsive to new ideas, feedback, or experiences, showing a willingness to listen and consider different perspectives.. +Social.RECEPTIVE.description=%s show%s a willingness to listen and consider different perspectives,\ + \ they're open and responsive to new ideas, feedback, or experiences, showing a willingness to listen\ + \ and consider different perspectives. + Social.SCHEMING.text=Scheming -Social.SCHEMING.description=%s engage%s in secretive and strategic planning, often devising intricate plans to achieve personal goals or manipulate situations, sometimes with deceitful intent. +Social.SCHEMING.description=%s engage%s in secretive and strategic planning, often devising intricate\ + \ plans to achieve personal goals or manipulate situations, sometimes with deceitful intent. + Social.SINCERE.text=Sincere -Social.SINCERE.description=%s show%s genuine feelings and intentions, acting with honesty and authenticity in their interactions with others. +Social.SINCERE.description=%s show%s genuine feelings and intentions, acting with honesty and authenticity\ + \ in their interactions with others. + Social.SUPPORTIVE.text=Supportive -Social.SUPPORTIVE.description=%s offer%s encouragement and assistance, providing help and reassurance to others in a way that fosters their well-being and success. +Social.SUPPORTIVE.description=%s offer%s encouragement and assistance, providing help and reassurance\ + \ to others in a way that fosters their well-being and success. + Social.TACTFUL.text=Tactful -Social.TACTFUL.description=%s communicate%s with sensitivity and discretion, skillfully handling delicate situations and addressing others with care and consideration. +Social.TACTFUL.description=%s communicate%s with sensitivity and discretion, skillfully handling delicate\ + \ situations and addressing others with care and consideration. + Social.UNTRUSTWORTHY.text=Untrustworthy -Social.UNTRUSTWORTHY.description=%s frequently betray%s confidence or fails to follow through on promises, showing a pattern of unreliable or deceitful behavior. +Social.UNTRUSTWORTHY.description=%s frequently betray%s confidence or fails to follow through on promises,\ + \ showing a pattern of unreliable or deceitful behavior. # Intelligence Intelligence.BRAIN_DEAD.text=Brain Dead -Intelligence.BRAIN_DEAD.description=%s show%s an extreme lack of intellectual ability or comprehension, struggling with even the most fundamental tasks and concepts, often appearing completely disengaged from cognitive processes. +Intelligence.BRAIN_DEAD.description=%s show%s an extreme lack of intellectual ability or comprehension,\ + \ struggling with even the most fundamental tasks and concepts, often appearing completely disengaged\ + \ from cognitive processes. + Intelligence.UNINTELLIGENT.text=Unintelligent -Intelligence.UNINTELLIGENT.description=%s consistently show%s a lack of understanding and difficulty grasping even basic concepts, often appearing confused or slow in their thinking. +Intelligence.UNINTELLIGENT.description=%s consistently show%s a lack of understanding and difficulty\ + \ grasping even basic concepts, often appearing confused or slow in their thinking. + Intelligence.FOOLISH.text=Foolish -Intelligence.FOOLISH.description=%s exhibit%s a marked lack of intellectual capacity and mental agility, finding it challenging to grasp fundamental ideas or reason effectively. +Intelligence.FOOLISH.description=%s exhibit%s a marked lack of intellectual capacity and mental agility,\ + \ finding it challenging to grasp fundamental ideas or reason effectively. + Intelligence.SIMPLE.text=Simple -Intelligence.SIMPLE.description=%s live%s a straightforward and uncomplicated life, often finding contentment in modest and basic experiences without seeking complexity or extravagance. +Intelligence.SIMPLE.description=%s live%s a straightforward and uncomplicated life, often finding\ + \ contentment in modest and basic experiences without seeking complexity or extravagance. + Intelligence.SLOW.text=Slow -Intelligence.SLOW.description=%s take%s extra time to grasp concepts or ideas, often struggling to understand or process information quickly. +Intelligence.SLOW.description=%s take%s extra time to grasp concepts or ideas, often struggling to\ + \ understand or process information quickly. + Intelligence.UNINSPIRED.text=Uninspired -Intelligence.UNINSPIRED.description=%s lack%s creativity or quick thinking, often sticking to basic or conventional approaches without demonstrating deeper insight or originality. +Intelligence.UNINSPIRED.description=%s lack%s creativity or quick thinking, often sticking to basic\ + \ or conventional approaches without demonstrating deeper insight or originality. + Intelligence.DULL.text=Dull -Intelligence.DULL.description=%s show%s a lack of quick understanding or insight, often struggling to grasp concepts or respond promptly in conversations or situations. +Intelligence.DULL.description=%s show%s a lack of quick understanding or insight, often struggling\ + \ to grasp concepts or respond promptly in conversations or situations. + Intelligence.DIMWITTED.text=Dimwitted -Intelligence.DIMWITTED.description=%s often find%s it difficult to keep up with fast-paced discussions or quickly adapt to new ideas, showing a slower rate of learning and comprehension. +Intelligence.DIMWITTED.description=%s often find%s it difficult to keep up with fast-paced discussions\ + \ or quickly adapt to new ideas, showing a slower rate of learning and comprehension. + Intelligence.OBTUSE.text=Obtuse -Intelligence.OBTUSE.description=%s may have trouble understanding intricate concepts or making connections between ideas, often needing more time to grasp even basic information. +Intelligence.OBTUSE.description=%s may have trouble understanding intricate concepts or making\ + \ connections between ideas, often needing more time to grasp even basic information. + Intelligence.BELOW_AVERAGE.text=Below Average -Intelligence.BELOW_AVERAGE.description=%s demonstrate%s cognitive abilities that aren't as developed as those of their peers, often finding it challenging to grasp complex concepts or solve problems quickly. +Intelligence.BELOW_AVERAGE.description=%s demonstrate%s cognitive abilities that aren't as developed\ + \ as those of their peers, often finding it challenging to grasp complex concepts or solve problems\ + \ quickly. + Intelligence.UNDER_PERFORMING.text=Under Performing -Intelligence.UNDER_PERFORMING.description=%s struggle%s to meet typical expectations or standards, often finding it challenging to solve problems or understand concepts that others grasp more easily. +Intelligence.UNDER_PERFORMING.description=%s struggle%s to meet typical expectations or standards,\ + \ often finding it challenging to solve problems or understand concepts that others grasp more easily. + Intelligence.LIMITED_INSIGHT.text=Limited Insight -Intelligence.LIMITED_INSIGHT.description=%s show%s difficulty grasping more complex or abstract ideas, showing a tendency to rely on simpler explanations or solutions. +Intelligence.LIMITED_INSIGHT.description=%s show%s difficulty grasping more complex or abstract ideas,\ + \ showing a tendency to rely on simpler explanations or solutions. + Intelligence.ABOVE_AVERAGE.text=Above Average -Intelligence.ABOVE_AVERAGE.description=%s demonstrate%s a higher level of cognitive ability than most, often excelling in understanding complex concepts and solving problems efficiently. +Intelligence.ABOVE_AVERAGE.description=%s demonstrate%s a higher level of cognitive ability than most,\ + \ often excelling in understanding complex concepts and solving problems efficiently. + Intelligence.STUDIOUS.text=Studious -Intelligence.STUDIOUS.description=%s quickly perceive%s and understands complex ideas and situations, demonstrating sharp insight and keen judgment in their observations and decisions. +Intelligence.STUDIOUS.description=%s quickly perceive%s and understands complex ideas and situations,\ + \ demonstrating sharp insight and keen judgment in their observations and decisions. + Intelligence.DISCERNING.text=Discerning -Intelligence.DISCERNING.description=%s offer%s profound understanding and perspectives, often providing deep analysis and innovative solutions to challenging problems. +Intelligence.DISCERNING.description=%s offer%s profound understanding and perspectives, often providing\ + \ deep analysis and innovative solutions to challenging problems. + Intelligence.SHARP.text=Sharp -Intelligence.SHARP.description=%s display%s quick and keen intelligence, easily understanding and responding to complex situations with insightful and clever thinking. +Intelligence.SHARP.description=%s display%s quick and keen intelligence, easily understanding and\ + \ responding to complex situations with insightful and clever thinking. + Intelligence.QUICK_WITTED.text=Quick-Witted -Intelligence.QUICK_WITTED.description=%s respond%s with rapid and clever thinking, often delivering insightful or humorous remarks with impressive speed and accuracy. +Intelligence.QUICK_WITTED.description=%s respond%s with rapid and clever thinking, often delivering\ + \ insightful or humorous remarks with impressive speed and accuracy. + Intelligence.PERCEPTIVE.text=Perceptive -Intelligence.PERCEPTIVE.description=%s demonstrate%s an acute awareness of their surroundings and can swiftly grasp underlying meanings or implications, showing a keen ability to understand subtle details. +Intelligence.PERCEPTIVE.description=%s demonstrate%s an acute awareness of their surroundings and can\ + \ swiftly grasp underlying meanings or implications, showing a keen ability to understand subtle details. + Intelligence.BRIGHT.text=Bright -Intelligence.BRIGHT.description=%s show%s a high level of intelligence and quick understanding, often excelling in academic or intellectual pursuits. +Intelligence.BRIGHT.description=%s show%s a high level of intelligence and quick understanding, often\ + \ excelling in academic or intellectual pursuits. + Intelligence.CLEVER.text=Clever -Intelligence.CLEVER.description=%s display%s an ability to solve problems and understand concepts quickly and ingeniously, often finding creative and effective solutions. +Intelligence.CLEVER.description=%s display%s an ability to solve problems and understand concepts\ + \ quickly and ingeniously, often finding creative and effective solutions. + Intelligence.INTELLECTUAL.text=Intellectual -Intelligence.INTELLECTUAL.description=%s show%s a natural and quick grasp of complex ideas or situations, often understanding things effortlessly and accurately without extensive explanation. +Intelligence.INTELLECTUAL.description=%s show%s a natural and quick grasp of complex ideas or situations,\ + \ often understanding things effortlessly and accurately without extensive explanation. + Intelligence.BRILLIANT.text=Brilliant -Intelligence.BRILLIANT.description=%s exhibit%s exceptional intellectual ability and creativity, often coming up with innovative solutions and grasping complex concepts with ease. +Intelligence.BRILLIANT.description=%s exhibit%s exceptional intellectual ability and creativity, often\ + \ coming up with innovative solutions and grasping complex concepts with ease. + Intelligence.EXCEPTIONAL.text=Exceptional -Intelligence.EXCEPTIONAL.description=%s demonstrate%s extraordinary intelligence and creativity, consistently producing innovative ideas and solutions that surpass typical standards. +Intelligence.EXCEPTIONAL.description=%s demonstrate%s extraordinary intelligence and creativity,\ + \ consistently producing innovative ideas and solutions that surpass typical standards. + Intelligence.GENIUS.text=Genius -Intelligence.GENIUS.description=%s exhibit%s an extraordinary level of intellect and insight, often making groundbreaking contributions or achieving remarkable understanding in their field of expertise. +Intelligence.GENIUS.description=%s exhibit%s an extraordinary level of intellect and insight, often\ + \ making groundbreaking contributions or achieving remarkable understanding in their field of expertise. # Quirks PersonalityQuirk.ADJUSTS_CLOTHES.text=Constantly Adjusting Clothes -PersonalityQuirk.ADJUSTS_CLOTHES.description=%s always fidget%s with their clothing, adjusting collars, cuffs, or hems compulsively. +PersonalityQuirk.ADJUSTS_CLOTHES.description=%s always fidget%s with their clothing, adjusting collars,\ + \ cuffs, or hems compulsively. + PersonalityQuirk.AFFECTIONATE.text=Overly Affectionate -PersonalityQuirk.AFFECTIONATE.description=%s frequently hug%s others, often invading personal space in the process. +PersonalityQuirk.AFFECTIONATE.description=%s frequently hug%s others, often invading personal space\ + \ in the process. + PersonalityQuirk.APOLOGETIC.text=Overly Apologetic -PersonalityQuirk.APOLOGETIC.description=%s frequently apologize%s for even the smallest mistakes or inconveniences, often unnecessarily. +PersonalityQuirk.APOLOGETIC.description=%s frequently apologize%s for even the smallest mistakes or\ + \ inconveniences, often unnecessarily. + PersonalityQuirk.BOOKWORM.text=Always Reading -PersonalityQuirk.BOOKWORM.description=%s tote%s a book or e-reader everywhere, reading at every opportunity, even in short breaks. +PersonalityQuirk.BOOKWORM.description=%s tote%s a book or e-reader everywhere, reading at every\ + \ opportunity, even in short breaks. + PersonalityQuirk.CALENDAR.text=Keeps a Personal Calendar -PersonalityQuirk.CALENDAR.description=%s maintains a personal calendar with detailed notes on daily tasks and upcoming events, checking it regularly. +PersonalityQuirk.CALENDAR.description=%s maintains a personal calendar with detailed notes on daily\ + \ tasks and upcoming events, checking it regularly. + PersonalityQuirk.CANDLES.text=Fond of Scented Candles -PersonalityQuirk.CANDLES.description=%s love%s scented candles and always has one burning in their personal space, creating a distinct aroma. +PersonalityQuirk.CANDLES.description=%s love%s scented candles and always has one burning in their\ + \ personal space, creating a distinct aroma. + PersonalityQuirk.CHEWING_GUM.text=Always Chewing Gum -PersonalityQuirk.CHEWING_GUM.description=%s always chew%s a piece of gum in their mouth and offers gum to others constantly. +PersonalityQuirk.CHEWING_GUM.description=%s always chew%s a piece of gum in their mouth and offers\ + \ gum to others constantly. + PersonalityQuirk.CHRONIC_LATENESS.text=Chronically Late -PersonalityQuirk.CHRONIC_LATENESS.description=%s almost always run%s late to meetings or events, no matter how much they plan ahead. +PersonalityQuirk.CHRONIC_LATENESS.description=%s almost always run%s late to meetings or events, no\ + \ matter how much they plan ahead. + PersonalityQuirk.CLEANER.text=Compulsive Cleaner -PersonalityQuirk.CLEANER.description=%s often clean%s things that are already clean, constantly tidying up their surroundings. +PersonalityQuirk.CLEANER.description=%s often clean%s things that are already clean, constantly tidying\ + \ up their surroundings. + PersonalityQuirk.COLLECTOR.text=Collects Odd Items -PersonalityQuirk.COLLECTOR.description=%s collect%s unusual or quirky items, like bottle caps, vintage toys or miniature BattleMeks, displaying them proudly. +PersonalityQuirk.COLLECTOR.description=%s collect%s unusual or quirky items, like bottle caps, vintage\ + \ toys or miniature BattleMeks, displaying them proudly. + PersonalityQuirk.COMPETITIVE_NATURE.text=Competitive Nature -PersonalityQuirk.COMPETITIVE_NATURE.description=%s alway%s turns every situation into a competition, whether it's a friendly game or a simple task, and dislikes losing or being bested. +PersonalityQuirk.COMPETITIVE_NATURE.description=%s alway%s turns every situation into a competition,\ + \ whether it's a friendly game or a simple task, and dislikes losing or being bested. + PersonalityQuirk.COMPLIMENTS.text=Excessive Complimenter -PersonalityQuirk.COMPLIMENTS.description=%s frequently compliment%s others, sometimes to the point of being insincere or annoying. +PersonalityQuirk.COMPLIMENTS.description=%s frequently compliment%s others, sometimes to the point\ + \ of being insincere or annoying. + PersonalityQuirk.DAYDREAMER.text=Prone to Daydreaming -PersonalityQuirk.DAYDREAMER.description=%s frequently drift%s off into daydreams, sometimes losing track of conversations or tasks at hand. +PersonalityQuirk.DAYDREAMER.description=%s frequently drift%s off into daydreams, sometimes losing\ + \ track of conversations or tasks at hand. + PersonalityQuirk.DOODLER.text=Compulsive Doodler -PersonalityQuirk.DOODLER.description=%s doodle%s on any available surface when they have a pen in hand, including important documents. +PersonalityQuirk.DOODLER.description=%s doodle%s on any available surface when they have a pen in\ + \ hand, including important documents. + PersonalityQuirk.DOOLITTLE.text=Talks to Animals -PersonalityQuirk.DOOLITTLE.description=%s show%s a habit of talking to animals as if they were people, often having full conversations with them. +PersonalityQuirk.DOOLITTLE.description=%s show%s a habit of talking to animals as if they were people,\ + \ often having full conversations with them. + PersonalityQuirk.DRAMATIC.text=Overly Dramatic -PersonalityQuirk.DRAMATIC.description=%s tend%s to react to situations with exaggerated emotions, turning minor issues into big dramas. +PersonalityQuirk.DRAMATIC.description=%s tend%s to react to situations with exaggerated emotions,\ + \ turning minor issues into big dramas. + PersonalityQuirk.EATING_HABITS.text=Unpredictable Eating Habits -PersonalityQuirk.EATING_HABITS.description=%s demonstrate%s very peculiar eating habits, such as eating only specific foods in certain orders or at specific times. +PersonalityQuirk.EATING_HABITS.description=%s demonstrate%s very peculiar eating habits, such as eating\ + \ only specific foods in certain orders or at specific times. + PersonalityQuirk.ENVIRONMENTAL_SENSITIVITY.text=Extreme Environmental Sensitivity -PersonalityQuirk.ENVIRONMENTAL_SENSITIVITY.description=%s let%s environmental factors like temperature, humidity, or noise levels, affect their performance and mood. +PersonalityQuirk.ENVIRONMENTAL_SENSITIVITY.description=%s let%s environmental factors like temperature,\ + \ humidity, or noise levels, affect their performance and mood. + PersonalityQuirk.EXCESSIVE_CAUTION.text=Excessive Caution -PersonalityQuirk.EXCESSIVE_CAUTION.description=%s take%s extreme precautionary measures for even minor tasks or risks, like wearing multiple layers of protective gear or checking equipment obsessively. +PersonalityQuirk.EXCESSIVE_CAUTION.description=%s take%s extreme precautionary measures for even minor\ + \ tasks or risks, like wearing multiple layers of protective gear or checking equipment obsessively. + PersonalityQuirk.EXCESSIVE_GREETING.text=Over-the-Top Greetings -PersonalityQuirk.EXCESSIVE_GREETING.description=%s greet%s everyone with an elaborate and theatrical routine, complete with gestures or a signature phrase, making every interaction a little show. +PersonalityQuirk.EXCESSIVE_GREETING.description=%s greet%s everyone with an elaborate and theatrical\ + \ routine, complete with gestures or a signature phrase, making every interaction a little show. PersonalityQuirk.EYE_CONTACT.text=Intense Eye Contact -PersonalityQuirk.EYE_CONTACT.description=%s maintain%s intense eye contact during conversations, sometimes making others uncomfortable with their unwavering gaze. + +PersonalityQuirk.EYE_CONTACT.description=%s maintain%s intense eye contact during conversations, sometimes\ + \ making others uncomfortable with their unwavering gaze. + PersonalityQuirk.FASHION_CHOICES.text=Eccentric Fashion Choices -PersonalityQuirk.FASHION_CHOICES.description=%s wear%s clothing or accessories that are highly unconventional or mismatched, making a personal statement through their appearance. +PersonalityQuirk.FASHION_CHOICES.description=%s wear%s clothing or accessories that are highly\ + \ unconventional or mismatched, making a personal statement through their appearance. + PersonalityQuirk.FIDGETS.text=Constantly Fidgeting -PersonalityQuirk.FIDGETS.description=%s is alway%s fidgeting with something, whether it's a pen, a piece of equipment, or their own clothing, especially when nervous or bored. +PersonalityQuirk.FIDGETS.description=%s is alway%s fidgeting with something, whether it's a pen, a\ + \ piece of equipment, or their own clothing, especially when nervous or bored. + PersonalityQuirk.FITNESS.text=Extreme Personal Fitness Routine -PersonalityQuirk.FITNESS.description=%s follow%s a rigorous and unusual fitness routine, often working out at odd hours or in unconventional ways. +PersonalityQuirk.FITNESS.description=%s follow%s a rigorous and unusual fitness routine, often working\ + \ out at odd hours or in unconventional ways. + PersonalityQuirk.FIXATES.text=Fixates on One Topic -PersonalityQuirk.FIXATES.description=%s tend%s to talk about one subject obsessively, regardless of whether others are interested. +PersonalityQuirk.FIXATES.description=%s tend%s to talk about one subject obsessively, regardless of\ + \ whether others are interested. + PersonalityQuirk.FLASK.text=Carries a Flask -PersonalityQuirk.FLASK.description=%s always wear%s a flask of their favorite beverage, sipping from it frequently throughout the day. +PersonalityQuirk.FLASK.description=%s always wear%s a flask of their favorite beverage, sipping from\ + \ it frequently throughout the day. + PersonalityQuirk.FOOT_TAPPER.text=Always Tapping Foot -PersonalityQuirk.FOOT_TAPPER.description=%s constantly tap%s their foot, creating a steady rhythm that can sometimes distract others. +PersonalityQuirk.FOOT_TAPPER.description=%s constantly tap%s their foot, creating a steady rhythm\ + \ that can sometimes distract others. + PersonalityQuirk.FORGETFUL.text=Chronically Forgetful -PersonalityQuirk.FORGETFUL.description=%s often forget%s names, dates, and important details, relying heavily on notes and reminders. +PersonalityQuirk.FORGETFUL.description=%s often forget%s names, dates, and important details, relying\ + \ heavily on notes and reminders. + PersonalityQuirk.FORMAL_SPEECH.text=Overly Formal Speech -PersonalityQuirk.FORMAL_SPEECH.description=%s speak%s in an overly formal manner, using proper titles and full names, even in casual conversations. +PersonalityQuirk.FORMAL_SPEECH.description=%s speak%s in an overly formal manner, using proper titles\ + \ and full names, even in casual conversations. + PersonalityQuirk.FURNITURE.text=Constantly Rearranges Furniture -PersonalityQuirk.FURNITURE.description=%s frequently change%s the arrangement of furniture and personal items, seeking the perfect layout. +PersonalityQuirk.FURNITURE.description=%s frequently change%s the arrangement of furniture and personal\ + \ items, seeking the perfect layout. + PersonalityQuirk.GLASSES.text=Constantly Adjusts Glasses -PersonalityQuirk.GLASSES.description=%s continually adjust%s their glasses, even if they're perfectly in place. +PersonalityQuirk.GLASSES.description=%s continually adjust%s their glasses, even if they're perfectly\ + \ in place. + PersonalityQuirk.GLOVES.text=Always Wearing Gloves -PersonalityQuirk.GLOVES.description=%s always wear%s gloves, even in situations where they aren't necessary, considering it a personal style or comfort preference. +PersonalityQuirk.GLOVES.description=%s always wear%s gloves, even in situations where they aren't\ + \ necessary, considering it a personal style or comfort preference. + PersonalityQuirk.HAND_GESTURES.text=Excessive Hand Gestures -PersonalityQuirk.HAND_GESTURES.description=%s use%s large and dramatic hand gestures when speaking, often knocking things over or drawing unnecessary attention. +PersonalityQuirk.HAND_GESTURES.description=%s use%s large and dramatic hand gestures when speaking,\ + \ often knocking things over or drawing unnecessary attention. + PersonalityQuirk.HAND_WRINGER.text=Compulsive Hand-Wringer -PersonalityQuirk.HAND_WRINGER.description=%s wring%s their hands constantly, especially when nervous or deep in thought. +PersonalityQuirk.HAND_WRINGER.description=%s wring%s their hands constantly, especially when nervous\ + \ or deep in thought. + PersonalityQuirk.HANDSHAKE.text=Overly Enthusiastic Handshake -PersonalityQuirk.HANDSHAKE.description=%s give%s very firm and enthusiastic handshakes, often surprising or overwhelming others. +PersonalityQuirk.HANDSHAKE.description=%s give%s very firm and enthusiastic handshakes, often surprising\ + \ or overwhelming others. + PersonalityQuirk.HEADPHONES.text=Always Wearing Headphones -PersonalityQuirk.HEADPHONES.description=%s constantly wear%s headphones, sometimes even during conversations, listening to music or ambient sounds. +PersonalityQuirk.HEADPHONES.description=%s constantly wear%s headphones, sometimes even during\ + \ conversations, listening to music or ambient sounds. + PersonalityQuirk.HEALTHY_SNACKS.text=Frequently Snacking on Healthy Foods -PersonalityQuirk.HEALTHY_SNACKS.description=%s alway%s has a supply of healthy snacks, like carrot sticks or nuts, and encourages others to eat healthily too. +PersonalityQuirk.HEALTHY_SNACKS.description=%s alway%s has a supply of healthy snacks, like carrot\ + \ sticks or nuts, and encourages others to eat healthily too. + PersonalityQuirk.HISTORIAN.text=Passionate about History -PersonalityQuirk.HISTORIAN.description=%s frequently reference%s historical events and figures in conversation, relating them to current situations. +PersonalityQuirk.HISTORIAN.description=%s frequently reference%s historical events and figures in\ + \ conversation, relating them to current situations. + PersonalityQuirk.HUMMER.text=Habitual Hummer -PersonalityQuirk.HUMMER.description=%s often hum%s songs or tunes to themselves, especially when concentrating on a task. +PersonalityQuirk.HUMMER.description=%s often hum%s songs or tunes to themselves, especially when\ + \ concentrating on a task. + PersonalityQuirk.HYGIENIC.text=Obsessed with Hygiene -PersonalityQuirk.HYGIENIC.description=%s overly display%s concern with personal hygiene, constantly washing their hands and using sanitizer. +PersonalityQuirk.HYGIENIC.description=%s overly display%s concern with personal hygiene, constantly\ + \ washing their hands and using sanitizer. + PersonalityQuirk.IRREGULAR_SLEEPER.text=Unusual Sleep Patterns -PersonalityQuirk.IRREGULAR_SLEEPER.description=%s maintain%s a highly irregular sleep schedule, such as taking multiple short naps throughout the day or working best in the early morning hours. +PersonalityQuirk.IRREGULAR_SLEEPER.description=%s maintain%s a highly irregular sleep schedule, such\ + \ as taking multiple short naps throughout the day or working best in the early morning hours. + PersonalityQuirk.JOKER.text=Fond of Puns -PersonalityQuirk.JOKER.description=%s love%s making puns and wordplay, often inserting them into conversations, regardless of the appropriateness. +PersonalityQuirk.JOKER.description=%s love%s making puns and wordplay, often inserting them into\ + \ conversations, regardless of the appropriateness. + PersonalityQuirk.LISTS.text=Compulsive List Maker -PersonalityQuirk.LISTS.description=%s make%s lists for everything, from daily tasks to long-term goals, and checks them obsessively. +PersonalityQuirk.LISTS.description=%s make%s lists for everything, from daily tasks to long-term\ + \ goals, and checks them obsessively. + PersonalityQuirk.LITERAL.text=Overly Literal -PersonalityQuirk.LITERAL.description=%s take%s things very literally and often struggles to understand jokes, sarcasm, or figurative language. +PersonalityQuirk.LITERAL.description=%s take%s things very literally and often struggles to\ + \ understand jokes, sarcasm, or figurative language. + PersonalityQuirk.LOCKS.text=Checks Locks Repeatedly -PersonalityQuirk.LOCKS.description=%s habitually check%s doors and locks multiple times to ensure they're secure, even in familiar places. +PersonalityQuirk.LOCKS.description=%s habitually check%s doors and locks multiple times to ensure\ + \ they're secure, even in familiar places. + PersonalityQuirk.MEASURED_TALKER.text=Tends to Speak in a Measured Pace -PersonalityQuirk.MEASURED_TALKER.description=%s speak%s in a calm and measured pace, deliberately enunciating each word for clarity. +PersonalityQuirk.MEASURED_TALKER.description=%s speak%s in a calm and measured pace, deliberately\ + \ enunciating each word for clarity. + PersonalityQuirk.MINIMALIST.text=Extreme Minimalism -PersonalityQuirk.MINIMALIST.description=%s practice%s extreme minimalism, owning very few personal items and keeping their living space stark and uncluttered. +PersonalityQuirk.MINIMALIST.description=%s practice%s extreme minimalism, owning very few personal\ + \ items and keeping their living space stark and uncluttered. + PersonalityQuirk.MUG.text=Prefers Using a Specific Mug -PersonalityQuirk.MUG.description=%s use%s a specific mug for drinking coffee or tea and feels uncomfortable using other mugs. +PersonalityQuirk.MUG.description=%s use%s a specific mug for drinking coffee or tea and feels\ + \ uncomfortable using other mugs. + PersonalityQuirk.NAIL_BITER.text=Constant Nail Biter -PersonalityQuirk.NAIL_BITER.description=%s exhibit%s a habit of biting their nails, especially when they're anxious or deep in thought. +PersonalityQuirk.NAIL_BITER.description=%s exhibit%s a habit of biting their nails, especially when\ + \ they're anxious or deep in thought. + PersonalityQuirk.NICKNAMING.text=Frequent Nicknaming -PersonalityQuirk.NICKNAMING.description=%s display%s a tendency to give nicknames to everyone they meet, including their own equipment, and uses these nicknames exclusively. +PersonalityQuirk.NICKNAMING.description=%s display%s a tendency to give nicknames to everyone they\ + \ meet, including their own equipment, and uses these nicknames exclusively. + PersonalityQuirk.NIGHT_OWL.text=Night Owl -PersonalityQuirk.NIGHT_OWL.description=%s often work%s late into the night, often tweaking their equipment or reviewing mission data even when it's not necessary. +PersonalityQuirk.NIGHT_OWL.description=%s often work%s late into the night, often tweaking their\ + \ equipment or reviewing mission data even when it's not necessary. + PersonalityQuirk.NOTE_TAKER.text=Compulsive Note-Taking -PersonalityQuirk.NOTE_TAKER.description=%s keep%s detailed notes about everything, from mission briefings to casual conversations, filling numerous notebooks with meticulous records. +PersonalityQuirk.NOTE_TAKER.description=%s keep%s detailed notes about everything, from mission\ + \ briefings to casual conversations, filling numerous notebooks with meticulous records. + PersonalityQuirk.NOTEBOOK.text=Always Carrying a Notebook -PersonalityQuirk.NOTEBOOK.description=%s alway%s has a small notebook to jot down thoughts, ideas, or sketches at a moment's notice. +PersonalityQuirk.NOTEBOOK.description=%s alway%s has a small notebook to jot down thoughts, ideas,\ + \ or sketches at a moment's notice. + PersonalityQuirk.OBJECT.text=Carries a Personal Object -PersonalityQuirk.OBJECT.description=%s alway%s carries a small personal object, like a lucky coin or a memento, and keeps it close for comfort. +PersonalityQuirk.OBJECT.description=%s alway%s carries a small personal object, like a lucky coin or\ + \ a memento, and keeps it close for comfort. + PersonalityQuirk.ORGANIZATIONAL_TENDENCIES.text=Obsessive Organizational Tendencies -PersonalityQuirk.ORGANIZATIONAL_TENDENCIES.description=%s arrange%s their personal items or workspace with extreme precision and becomes agitated if things are out of place. +PersonalityQuirk.ORGANIZATIONAL_TENDENCIES.description=%s arrange%s their personal items or workspace\ + \ with extreme precision and becomes agitated if things are out of place. + PersonalityQuirk.ORGANIZER.text=Always Organizing -PersonalityQuirk.ORGANIZER.description=%s maintain%s a habit of reorganizing their desk or workspace, aligning items meticulously, even if they were already in order. +PersonalityQuirk.ORGANIZER.description=%s maintain%s a habit of reorganizing their desk or workspace,\ + \ aligning items meticulously, even if they were already in order. + PersonalityQuirk.ORIGAMI.text=Fond of Origami -PersonalityQuirk.ORIGAMI.description=%s love%s making origami figures and often leaves them around for others to find. +PersonalityQuirk.ORIGAMI.description=%s love%s making origami figures and often leaves them around\ + \ for others to find. + PersonalityQuirk.OVER_PLANNER.text=Obsessive Over-Planner -PersonalityQuirk.OVER_PLANNER.description=%s create%s detailed plans and schedules for everything, often over-preparing for even simple tasks. +PersonalityQuirk.OVER_PLANNER.description=%s create%s detailed plans and schedules for everything,\ + \ often over-preparing for even simple tasks. + PersonalityQuirk.OVEREXPLAINER.text=Chronic Overexplainer -PersonalityQuirk.OVEREXPLAINER.description=%s tend%s to over-explain even the simplest concepts, often providing excessive detail and background information. +PersonalityQuirk.OVEREXPLAINER.description=%s tend%s to over-explain even the simplest concepts,\ + \ often providing excessive detail and background information. + PersonalityQuirk.PEN_CLICKER.text=Habitual Pen Clicker -PersonalityQuirk.PEN_CLICKER.description=%s often click%s their pen repeatedly, especially when thinking or nervous, which can be distracting to others. +PersonalityQuirk.PEN_CLICKER.description=%s often click%s their pen repeatedly, especially when\ + \ thinking or nervous, which can be distracting to others. + PersonalityQuirk.PEN_TWIRLER.text=Habitual Pen Twirler -PersonalityQuirk.PEN_TWIRLER.description=%s often twirl%s a pen or pencil between their fingers, especially when deep in thought or waiting. +PersonalityQuirk.PEN_TWIRLER.description=%s often twirl%s a pen or pencil between their fingers,\ + \ especially when deep in thought or waiting. + PersonalityQuirk.PERSONIFICATION.text=Overly Friendly with Equipment -PersonalityQuirk.PERSONIFICATION.description=%s humanize%s their equipment, talking to it as if it were a living being, and gets distressed if others don't show the same respect. +PersonalityQuirk.PERSONIFICATION.description=%s humanize%s their equipment, talking to it as if it\ + \ were a living being, and gets distressed if others don't show the same respect. + PersonalityQuirk.PESSIMIST.text=Habitual Pessimist -PersonalityQuirk.PESSIMIST.description=%s alway%s expects the worst-case scenario and often verbalizes their negative expectations, dampening the mood of others. +PersonalityQuirk.PESSIMIST.description=%s alway%s expects the worst-case scenario and often verbalizes\ + \ their negative expectations, dampening the mood of others. + PersonalityQuirk.PHRASES.text=Tends to Use Specific Phrases -PersonalityQuirk.PHRASES.description=%s use%s a few catchphrases or specific expressions frequently in conversation, making their speech distinctive. +PersonalityQuirk.PHRASES.description=%s use%s a few catchphrases or specific expressions frequently\ + \ in conversation, making their speech distinctive. + PersonalityQuirk.PLANTS.text=Loves Plants -PersonalityQuirk.PLANTS.description=%s keep%s a variety of potted plants and talks to them as if they were pets, often giving them names. +PersonalityQuirk.PLANTS.description=%s keep%s a variety of potted plants and talks to them as if\ + \ they were pets, often giving them names. + PersonalityQuirk.POLITE.text=Excessive Politeness -PersonalityQuirk.POLITE.description=%s practice%s excessive politeness, always saying please and thank you, often apologizing for things that aren't their fault. +PersonalityQuirk.POLITE.description=%s practice%s excessive politeness, always saying please and\ + \ thank you, often apologizing for things that aren't their fault. + PersonalityQuirk.PRACTICAL_JOKER.text=Loves Practical Jokes -PersonalityQuirk.PRACTICAL_JOKER.description=%s enjoy%s playing practical jokes on their comrades, sometimes going to great lengths to set up elaborate pranks. +PersonalityQuirk.PRACTICAL_JOKER.description=%s enjoy%s playing practical jokes on their comrades,\ + \ sometimes going to great lengths to set up elaborate pranks. + PersonalityQuirk.PREPARED.text=Always Prepared -PersonalityQuirk.PREPARED.description=%s wear%s a wide variety of tools and supplies at all times, prepared for almost any situation. +PersonalityQuirk.PREPARED.description=%s wear%s a wide variety of tools and supplies at all times,\ + \ prepared for almost any situation. + PersonalityQuirk.PUNCTUAL.text=Overly Punctual -PersonalityQuirk.PUNCTUAL.description=%s alway%s arrives extremely early to meetings or events, sometimes to an inconvenient extent. +PersonalityQuirk.PUNCTUAL.description=%s alway%s arrives extremely early to meetings or events,\ + \ sometimes to an inconvenient extent. + PersonalityQuirk.PUZZLES.text=Obsessed with Puzzles -PersonalityQuirk.PUZZLES.description=%s alway%s has a puzzle on hand, whether it's a Rubik's cube, crossword, or sudoku, and solves them during downtime. +PersonalityQuirk.PUZZLES.description=%s alway%s has a puzzle on hand, whether it's a Rubik's cube,\ + \ crossword, or sudoku, and solves them during downtime. + PersonalityQuirk.QUOTES.text=Collects Quotes -PersonalityQuirk.QUOTES.description=%s show%s habit of collecting and reciting quotes from famous people, books, or movies, often at random moments. +PersonalityQuirk.QUOTES.description=%s show%s habit of collecting and reciting quotes from famous\ + \ people, books, or movies, often at random moments. + PersonalityQuirk.RARELY_SLEEPS.text=Rarely Sleeps -PersonalityQuirk.RARELY_SLEEPS.description=%s claim%s to need very little sleep and often stays awake for long periods, sometimes to the detriment of their health. +PersonalityQuirk.RARELY_SLEEPS.description=%s claim%s to need very little sleep and often stays awake\ + \ for long periods, sometimes to the detriment of their health. + PersonalityQuirk.ROUTINE.text=Has a Routine for Small Tasks -PersonalityQuirk.ROUTINE.description=%s follow%s a specific routine for small daily tasks, like making coffee or setting up their workspace, and feels uneasy if it's disrupted. +PersonalityQuirk.ROUTINE.description=%s follow%s a specific routine for small daily tasks, like making\ + \ coffee or setting up their workspace, and feels uneasy if it's disrupted. + PersonalityQuirk.SEEKS_APPROVAL.text=Constantly Seeking Approval -PersonalityQuirk.SEEKS_APPROVAL.description=%s demonstrate%s habit of constantly seeking validation or approval from peers or superiors, often to the point of being repetitive. +PersonalityQuirk.SEEKS_APPROVAL.description=%s demonstrate%s habit of constantly seeking validation\ + \ or approval from peers or superiors, often to the point of being repetitive. + PersonalityQuirk.SENTIMENTAL.text=Overly Sentimental -PersonalityQuirk.SENTIMENTAL.description=%s keep%s sentimental items like old letters, trinkets, and mementos, often reminiscing about their past. +PersonalityQuirk.SENTIMENTAL.description=%s keep%s sentimental items like old letters, trinkets, and\ + \ mementos, often reminiscing about their past. + PersonalityQuirk.SHARPENING.text=Compulsive Sharpening -PersonalityQuirk.SHARPENING.description=%s frequently sharpen%s pencils, knives, or other tools, often far more than necessary. +PersonalityQuirk.SHARPENING.description=%s frequently sharpen%s pencils, knives, or other tools,\ + \ often far more than necessary. + PersonalityQuirk.SINGS.text=Sings to Themselves -PersonalityQuirk.SINGS.description=%s often sing%s softly to themselves, especially when they think no one is listening. +PersonalityQuirk.SINGS.description=%s often sing%s softly to themselves, especially when they think\ + \ no one is listening. + PersonalityQuirk.SKEPTICAL.text=Chronically Skeptical -PersonalityQuirk.SKEPTICAL.description=%s alway%s questions and doubts new information or ideas, needing significant proof before believing anything. +PersonalityQuirk.SKEPTICAL.description=%s alway%s questions and doubts new information or ideas,\ + \ needing significant proof before believing anything. + PersonalityQuirk.SLEEP_TALKER.text=Talks in Sleep -PersonalityQuirk.SLEEP_TALKER.description=%s often talk%s in their sleep, sometimes revealing random or humorous thoughts. +PersonalityQuirk.SLEEP_TALKER.description=%s often talk%s in their sleep, sometimes revealing random\ + \ or humorous thoughts. + PersonalityQuirk.SMILER.text=Compulsive Smiler -PersonalityQuirk.SMILER.description=%s smile%s constantly, even in situations where it might not be appropriate, often confusing others. +PersonalityQuirk.SMILER.description=%s smile%s constantly, even in situations where it might not be\ + \ appropriate, often confusing others. + PersonalityQuirk.SNACKS.text=Always Has a Snack -PersonalityQuirk.SNACKS.description=%s keep%s snacks with them at all times and is often seen munching on something. +PersonalityQuirk.SNACKS.description=%s keep%s snacks with them at all times and is often seen munching\ + \ on something. + PersonalityQuirk.STORYTELLING.text=Compulsive Storytelling -PersonalityQuirk.STORYTELLING.description=%s show%s an uncontrollable urge to share detailed stories or anecdotes, often inappropriately or at length, even when others aren't interested. +PersonalityQuirk.STORYTELLING.description=%s show%s an uncontrollable urge to share detailed stories\ + \ or anecdotes, often inappropriately or at length, even when others aren't interested. + PersonalityQuirk.STRETCHING.text=Constantly Stretching -PersonalityQuirk.STRETCHING.description=%s exhibit%s a habit of stretching and doing light exercises at random times, even during meetings. +PersonalityQuirk.STRETCHING.description=%s exhibit%s a habit of stretching and doing light exercises\ + \ at random times, even during meetings. + PersonalityQuirk.SUPERSTITIOUS_RITUALS.text=Superstitious Rituals -PersonalityQuirk.SUPERSTITIOUS_RITUALS.description=%s perform%s specific rituals or carries lucky charms before each mission, believing they influence the outcome. +PersonalityQuirk.SUPERSTITIOUS_RITUALS.description=%s perform%s specific rituals or carries lucky\ + \ charms before each mission, believing they influence the outcome. + PersonalityQuirk.SUPERVISED_HABITS.text=Highly Supervised Habits -PersonalityQuirk.SUPERVISED_HABITS.description=%s insist%s on having their personal gear checked or cleaned by a specific person or in a specific way, creating a mini-routine that must be followed. +PersonalityQuirk.SUPERVISED_HABITS.description=%s insist%s on having their personal gear checked or\ + \ cleaned by a specific person or in a specific way, creating a mini-routine that must be followed. + PersonalityQuirk.TECH_TALK.text=Incessant Tech Talk -PersonalityQuirk.TECH_TALK.description=%s demonstrate%s a habit of explaining the inner workings of their equipment to anyone who will listen to them, even if it's not relevant to the conversation. +PersonalityQuirk.TECH_TALK.description=%s demonstrate%s a habit of explaining the inner workings of\ + \ their equipment to anyone who will listen to them, even if it's not relevant to the conversation. + PersonalityQuirk.TECHNOPHOBIA.text=Phobia of Technology -PersonalityQuirk.TECHNOPHOBIA.description=%s show%s a peculiar fear or aversion to certain types of technology, like computers or certain systems. +PersonalityQuirk.TECHNOPHOBIA.description=%s show%s a peculiar fear or aversion to certain types of\ + \ technology, like computers or certain systems. + PersonalityQuirk.THESAURUS.text=Uses Obscure Words -PersonalityQuirk.THESAURUS.description=%s enjoy%s using rare and obscure words in conversation, often confusing others but expanding their vocabulary. +PersonalityQuirk.THESAURUS.description=%s enjoy%s using rare and obscure words in conversation, often\ + \ confusing others but expanding their vocabulary. + PersonalityQuirk.THIRD_PERSON.text=Speaks in Third Person -PersonalityQuirk.THIRD_PERSON.description=%s occasionally refer%s to themselves in the third person, which can confuse or amuse others. +PersonalityQuirk.THIRD_PERSON.description=%s occasionally refer%s to themselves in the third person,\ + \ which can confuse or amuse others. + PersonalityQuirk.TIME_MANAGEMENT.text=Obsessed with Time Management -PersonalityQuirk.TIME_MANAGEMENT.description=%s optimize%s their time, often using timers and schedules down to the minute. +PersonalityQuirk.TIME_MANAGEMENT.description=%s optimize%s their time, often using timers and schedules\ + \ down to the minute. + PersonalityQuirk.TINKERER.text=Compulsive Tinkerer -PersonalityQuirk.TINKERER.description=%s constantly play%s with gadgets, tools, or their equipment, even if nothing is broken or needs adjustment. +PersonalityQuirk.TINKERER.description=%s constantly play%s with gadgets, tools, or their equipment,\ + \ even if nothing is broken or needs adjustment. + PersonalityQuirk.TRUTH_TELLER.text=Habitual Truth-Teller -PersonalityQuirk.TRUTH_TELLER.description=%s hold%s a compulsion to always tell the truth, even when a white lie might be more appropriate or polite. +PersonalityQuirk.TRUTH_TELLER.description=%s hold%s a compulsion to always tell the truth, even when\ + \ a white lie might be more appropriate or polite. + PersonalityQuirk.UNNECESSARY_CAUTION.text=Unnecessary Caution -PersonalityQuirk.UNNECESSARY_CAUTION.description=%s take%s excessive precautions in situations where it's not needed, like double-checking door locks multiple times or wearing extra safety gear for routine tasks. +PersonalityQuirk.UNNECESSARY_CAUTION.description=%s take%s excessive precautions in situations where\ + \ it's not needed, like double-checking door locks multiple times or wearing extra safety gear for\ + \ routine tasks. + PersonalityQuirk.UNPREDICTABLE_SPEECH.text=Unpredictable Speech -PersonalityQuirk.UNPREDICTABLE_SPEECH.description=%s use%s a manner of speaking that is highly unpredictable, such as frequently switching accents or using unusual metaphors and analogies. +PersonalityQuirk.UNPREDICTABLE_SPEECH.description=%s use%s a manner of speaking that is highly\ + \ unpredictable, such as frequently switching accents or using unusual metaphors and analogies. + PersonalityQuirk.UNUSUAL_HOBBIES.text=Unusual Hobbies -PersonalityQuirk.UNUSUAL_HOBBIES.description=%s practice%s an unusual or unexpected hobby, like competitive stamp collecting or building intricate models, which he/she is passionate about. +PersonalityQuirk.UNUSUAL_HOBBIES.description=%s practice%s an unusual or unexpected hobby, like\ + \ competitive stamp collecting or building intricate models, which he/she is passionate about. + PersonalityQuirk.WATCH.text=Constantly Checking the Time -PersonalityQuirk.WATCH.description=%s frequently check%s their watch or phone for the time, even if they aren't on a tight schedule. +PersonalityQuirk.WATCH.description=%s frequently check%s their watch or phone for the time, even if\ + \ they aren't on a tight schedule. + PersonalityQuirk.WEATHERMAN.text=Obsessed with Weather -PersonalityQuirk.WEATHERMAN.description=%s is alway%s checking the weather forecast and talks about it frequently, even when it's not relevant. +PersonalityQuirk.WEATHERMAN.description=%s is alway%s checking the weather forecast and talks about\ + \ it frequently, even when it's not relevant. + PersonalityQuirk.WHISTLER.text=Frequent Whistler -PersonalityQuirk.WHISTLER.description=%s frequently whistle%s tunes under their breath, often at inappropriate times. +PersonalityQuirk.WHISTLER.description=%s frequently whistle%s tunes under their breath, often at\ + \ inappropriate times. + PersonalityQuirk.WORRIER.text=Persistent Worrier -PersonalityQuirk.WORRIER.description=%s demonstrate%s a habit of constantly worrying excessively about small details and potential problems, often voicing their concerns aloud. +PersonalityQuirk.WORRIER.description=%s demonstrate%s a habit of constantly worrying excessively about\ + \ small details and potential problems, often voicing their concerns aloud. + PersonalityQuirk.WRITER.text=Writes Everything Down -PersonalityQuirk.WRITER.description=%s keep%s a detailed journal of daily events and thoughts, writing everything down meticulously. +PersonalityQuirk.WRITER.description=%s keep%s a detailed journal of daily events and thoughts, writing\ + \ everything down meticulously. + +PersonalityQuirk.BATTLEFIELD_NOSTALGIA.text=Constantly Reminiscing +PersonalityQuirk.BATTLEFIELD_NOSTALGIA.description=%s often recount%s old battles in vivid detail,\ + \ sometimes becoming distracted by memories during downtime or even in the heat of combat. + +PersonalityQuirk.HEAVY_HANDED.text=Heavy-Handed With Equipment +PersonalityQuirk.HEAVY_HANDED.description=%s tend%s to handle equipment and tools with excessive force,\ + \ often resulting in unnecessary damage or wear, much to the chagrin of the tech crew. + +PersonalityQuirk.RATION_HOARDER.text=Hoarding Rations +PersonalityQuirk.RATION_HOARDER.description=%s stash%s extra rations in their personal quarters,\ + \ believing that an unexpected shortage could happen at any moment. + +PersonalityQuirk.EMERGENCY_MANUAL_READER.text=Obsessive Manual Reader +PersonalityQuirk.EMERGENCY_MANUAL_READER.description=%s read%s and re-reads emergency procedure manuals,\ + \ sometimes even quoting them verbatim during combat, which can be both helpful and annoying. + +PersonalityQuirk.QUICK_TO_QUIP.text=Quick to Make Jokes Under Fire +PersonalityQuirk.QUICK_TO_QUIP.description=%s often crack%s jokes or make sarcastic comments during \ + intense combat situations, using humor as a coping mechanism, even if it irritates their lancemates. + +PersonalityQuirk.TECH_SKEPTIC.text=Distrusts New Technology +PersonalityQuirk.TECH_SKEPTIC.description=%s are wary of new tech and equipment, preferring older, \ + proven models over the latest innovations, and often express%s concern over potential malfunctions. + +PersonalityQuirk.POST_BATTLE_RITUALS.text=Performs Post-Battle Rituals +PersonalityQuirk.POST_BATTLE_RITUALS.description=%s perform%s specific personal rituals after each \ + mission, such as polishing armor in a precise order or reciting a mantra, believing it keeps luck\ + \ on their side. + +PersonalityQuirk.OVER_COMMUNICATOR.text=Over-Explains in Combat +PersonalityQuirk.OVER_COMMUNICATOR.description=%s over-explain%s their tactical moves or give detailed\ + \ status reports over comms, causing unnecessary chatter that can sometimes clutter communication\ + \ channels. + +PersonalityQuirk.FIELD_MEDIC.text=Tends to Perform Medical Aid +PersonalityQuirk.FIELD_MEDIC.description=%s feel%s compelled to provide medical aid whenever possible,\ + \ even if it's not their designated role, often carrying extra medical supplies for emergencies. + +PersonalityQuirk.SYSTEM_CALIBRATOR.text=Constantly Calibrates Systems +PersonalityQuirk.SYSTEM_CALIBRATOR.description=%s continually calibrate%s their equipment, believing\ + \ that even a fraction of a percent improvement could be crucial in battle, often at the expense of\ + \ downtime relaxation. + +PersonalityQuirk.AMMO_COUNTER.text=Obsessive Ammo Counter +PersonalityQuirk.AMMO_COUNTER.description=%s obsessively count%s remaining ammo during battles,\ + \ constantly recalculating how much they have left and adjusting tactics accordingly. + +PersonalityQuirk.BRAVADO.text=Excessive Bravado +PersonalityQuirk.BRAVADO.description=%s exhibit%s excessive bravado, taunting enemies over comms or\ + \ taking unnecessary risks to demonstrate courage, often at the expense of safety. + +PersonalityQuirk.COMBAT_SONG.text=Sings in Combat +PersonalityQuirk.COMBAT_SONG.description=%s sing%s loud battle songs or hums tunes during combat,\ + \ claiming it boosts morale, though it can be distracting to others. + +PersonalityQuirk.COMMS_TOGGLE.text=Constantly Toggles Comms Channels +PersonalityQuirk.COMMS_TOGGLE.description=%s frequently toggle%s between comms channels, often causing\ + \ confusion or miscommunication during critical moments. + +PersonalityQuirk.EJECTION_READY.text=Paranoid About Ejection Systems +PersonalityQuirk.EJECTION_READY.description=%s constantly check%s their Mek's ejection system, ensuring\ + \ it's ready in case of catastrophic failure, sometimes to a point of paranoia. + +PersonalityQuirk.HAND_SIGNS.text=Uses Elaborate Hand Signals +PersonalityQuirk.HAND_SIGNS.description=%s use%s complex hand signals to communicate with nearby\ + \ squadmates, even when voice comms would be more efficient. + +PersonalityQuirk.HATE_FOR_MEKS.text=Harbors a Deep Hatred for Meks +PersonalityQuirk.HATE_FOR_MEKS.description=%s harbor%s a deep disdain for Meks, considering them\ + \ necessary evils, often vocalizing their dislike even if piloting one. + +PersonalityQuirk.IMPROVISED_WEAPONRY.text=Uses Improvised Weaponry +PersonalityQuirk.IMPROVISED_WEAPONRY.description=%s frequently improvise%s weaponry during combat,\ + \ adapting objects around them into makeshift weapons when necessary. + +PersonalityQuirk.PRE_BATTLE_SUPERSTITIONS.text=Pre-Battle Superstitions +PersonalityQuirk.PRE_BATTLE_SUPERSTITIONS.description=%s follow%s a strict series of superstitious\ + \ rituals before every mission, believing that any deviation could lead to failure. + +PersonalityQuirk.SILENT_LEADER.text=Silent Leader +PersonalityQuirk.SILENT_LEADER.description=%s lead%s by example rather than words, rarely speaking but\ + \ making decisive, impactful moves that inspire others to follow suit. + +PersonalityQuirk.BATTLE_CRITIC.text=Constant Battle Critic +PersonalityQuirk.BATTLE_CRITIC.description=%s constantly critique%s the combat performance of others,\ + \ offering unsolicited advice on tactics, positioning, or equipment use. + +PersonalityQuirk.CHECKS_WEAPON_SAFETY.text=Constantly Checks Weapon Safety +PersonalityQuirk.CHECKS_WEAPON_SAFETY.description=%s frequently check%s the safety settings of their\ + \ weapons, even in the middle of combat, to ensure no accidental misfire occurs. + +PersonalityQuirk.CLOSE_COMBAT_PREF.text=Prefers Close Combat +PersonalityQuirk.CLOSE_COMBAT_PREF.description=%s alway%s seek to close the distance with enemies,\ + \ favoring melee attacks over ranged options whenever possible, even when it's risky. + +PersonalityQuirk.COMBAT_POET.text=Recites Poetry in Combat +PersonalityQuirk.COMBAT_POET.description=%s recite%s lines of poetry or philosophical quotes during\ + \ intense firefights, adding a dramatic flair to their combat style. + +PersonalityQuirk.CUSTOM_DECALS.text=Obsessed with Custom Decals +PersonalityQuirk.CUSTOM_DECALS.description=%s personalize%s their equipment with unique decals and\ + \ paint schemes, treating the exterior as a canvas for artistic expression. + +PersonalityQuirk.DISPLAYS_TROPHIES.text=Displays Trophies from Battles +PersonalityQuirk.DISPLAYS_TROPHIES.description=%s keep%s trophies from fallen enemies or successful\ + \ missions, often displaying them prominently in their quarters or on their equipment. + +PersonalityQuirk.DO_IT_YOURSELF.text=Obsessive Do-It-Yourselfer +PersonalityQuirk.DO_IT_YOURSELF.description=%s insist%s on performing all repairs and maintenance on\ + \ their equipment personally, trusting no one else with their gear. + +PersonalityQuirk.FIELD_IMPROVISER.text=Improvises with Field Supplies +PersonalityQuirk.FIELD_IMPROVISER.description=%s hold%s a knack for using field supplies in unconventional\ + \ ways, often creating makeshift tools or modifications during missions. + +PersonalityQuirk.LOUD_COMMS.text=Uses Loud Comms +PersonalityQuirk.LOUD_COMMS.description=%s speak%s loudly over comms, regardless of the situation,\ + \ often startling teammates or drowning out other communication. + +PersonalityQuirk.WAR_STORIES.text=Overly Fond of War Stories +PersonalityQuirk.WAR_STORIES.description=%s frequently recount%s old war stories, often embellishing \ + details for dramatic effect, sometimes repeating the same stories to the point of annoyance. + +PersonalityQuirk.ALL_OR_NOTHING.text=All or Nothing +PersonalityQuirk.ALL_OR_NOTHING.description=%s tend%s to go all out in battles, committing every\ + \ resource and pushing limits, often ignoring fallback plans or safety margins. + +PersonalityQuirk.BOOTS_ON_THE_GROUND.text=Prefers Ground Tactics +PersonalityQuirk.BOOTS_ON_THE_GROUND.description=%s feel%s more comfortable with ground-based tactics,\ + \ often favoring urban combat or rough terrain over open-field engagements. + +PersonalityQuirk.BRAVERY_BOASTER.text=Boasts About Bravery +PersonalityQuirk.BRAVERY_BOASTER.description=%s constantly boast%s about their acts of bravery,\ + \ sometimes embellishing stories to inspire comrades or boost their own morale. + +PersonalityQuirk.COCKPIT_DRIFTER.text=Daydreams +PersonalityQuirk.COCKPIT_DRIFTER.description=%s occasionally drift%s into daydreams while in combat,\ + \ sometimes losing focus at critical moments. + +PersonalityQuirk.CONSPIRACY_THEORIST.text=Believes in Conspiracy Theories +PersonalityQuirk.CONSPIRACY_THEORIST.description=%s often express%s a belief in various conspiracy\ + \ theories, speculating about hidden agendas behind every mission. + +PersonalityQuirk.DEVOUT_WARRIOR.text=Warrior's Code Devotee +PersonalityQuirk.DEVOUT_WARRIOR.description=%s strictly adhere%s to a personal code of honor in battle,\ + \ refusing to attack retreating foes or use certain weapons they consider dishonorable. + +PersonalityQuirk.DUAL_WIELDING.text=Obsessed with Dual Weapons +PersonalityQuirk.DUAL_WIELDING.description=%s hold%s a fascination with dual-wielding weapons,\ + \ favoring equipment that allows for simultaneous use of two similar weapons. + +PersonalityQuirk.EMBLEM_LOVER.text=Attached to Specific Emblem +PersonalityQuirk.EMBLEM_LOVER.description=%s are extremely attached to a personal emblem or insignia,\ + \ displaying it prominently on their equipment and personal belongings. + +PersonalityQuirk.EXCESSIVE_DEBRIEFING.text=Obsessive Debriefer +PersonalityQuirk.EXCESSIVE_DEBRIEFING.description=%s insist%s on detailed debriefings after every\ + \ mission, analyzing every decision and seeking feedback from every team member. + +PersonalityQuirk.EYE_FOR_ART.text=Appreciates Battlefield Scenery +PersonalityQuirk.EYE_FOR_ART.description=%s appreciate%s the scenery during battles, often commenting\ + \ on landscapes, ruins, or weather, even in the middle of combat. + +PersonalityQuirk.FAST_TALKER.text=Talks Very Fast +PersonalityQuirk.FAST_TALKER.description=%s speak%s very quickly, sometimes making it hard for others\ + \ to follow orders or understand battle reports. + +PersonalityQuirk.FINGER_GUNS.text=Uses Finger Guns +PersonalityQuirk.FINGER_GUNS.description=%s frequently use%s finger guns to emphasize points or joke\ + \ around, even in serious situations. + +PersonalityQuirk.FLARE_DEPLOYER.text=Excessive Flare Use +PersonalityQuirk.FLARE_DEPLOYER.description=%s use%s flares or smoke liberally, often deploying them\ + \ for dramatic effect or as a distraction tactic. + +PersonalityQuirk.FRIENDLY_INTERROGATOR.text=Likes to "Interrogate" Teammates +PersonalityQuirk.FRIENDLY_INTERROGATOR.description=%s enjoy%s asking teammates probing questions,\ + \ often as a game or way to uncover personal secrets. + +PersonalityQuirk.GUN_NUT.text=Fascinated by Firearms +PersonalityQuirk.GUN_NUT.description=%s hold%s a deep fascination with firearms, often modifying or\ + \ customizing their weapons to achieve "optimal performance." + +PersonalityQuirk.LAST_MAN_STANDING.text=Last Man Standing Mentality +PersonalityQuirk.LAST_MAN_STANDING.description=%s believe%s in being the last one to retreat, holding\ + \ the line until everyone else has withdrawn, even at great personal risk. + +PersonalityQuirk.LEGENDARY_MEK.text=Hunts The Black Marauder +PersonalityQuirk.LEGENDARY_MEK.description=%s hold%s a deep belief in the existence of the legendary,\ + \ nearly mythical Black Marauder and will pursue any rumors about it with enthusiasm. + +PersonalityQuirk.PASSIVE_LEADER.text=Leads Through Passivity +PersonalityQuirk.PASSIVE_LEADER.description=%s tend%s to lead through passive actions, guiding others\ + \ by subtle suggestions or letting them learn from mistakes. + +PersonalityQuirk.REBEL_WITHOUT_CAUSE.text=Rebellious Without Cause +PersonalityQuirk.REBEL_WITHOUT_CAUSE.description=%s exhibit%s a rebellious streak, often resisting\ + \ orders or established protocols for no clear reason. + +PersonalityQuirk.SIMPLE_LIFE.text=Prefers Simple Solutions +PersonalityQuirk.SIMPLE_LIFE.description=%s alway%s prefer straightforward solutions, often opting\ + \ for the most direct approach even when complex tactics might be better. + +PersonalityQuirk.ANTI_AUTHORITY.text=Distrusts Authority +PersonalityQuirk.ANTI_AUTHORITY.description=%s hold%s a strong distrust of authority figures, often\ + \ questioning orders or finding loopholes to avoid following them. + +PersonalityQuirk.BLOODLUST.text=Thrives in Combat Chaos +PersonalityQuirk.BLOODLUST.description=%s seem%s to revel in the chaos of combat, often becoming more\ + \ aggressive and reckless as battles intensify. + +PersonalityQuirk.BRAVERY_IN_DOUBT.text=Acts Bravely When Doubted +PersonalityQuirk.BRAVERY_IN_DOUBT.description=%s display%s sudden bursts of bravery when their courage\ + \ is called into question, often trying to prove doubters wrong. + +PersonalityQuirk.CLOSE_QUARTERS_ONLY.text=Prefers Close Quarters Combat +PersonalityQuirk.CLOSE_QUARTERS_ONLY.description=%s are uncomfortable with ranged combat and seek%s\ + \ opportunities to engage enemies in close quarters whenever possible. + +PersonalityQuirk.COOL_UNDER_FIRE.text=Remains Calm Under Fire +PersonalityQuirk.COOL_UNDER_FIRE.description=%s are unusually calm under fire, sometimes to the point\ + \ of appearing detached or overly casual about life-threatening situations. + +PersonalityQuirk.CRASH_TEST.text=Purposely Tests Equipment Durability +PersonalityQuirk.CRASH_TEST.description=%s purposefully put%s their equipment in situations to test\ + \ its durability, sometimes risking damage to satisfy their curiosity. + +PersonalityQuirk.DEAD_PAN_HUMOR.text=Uses Deadpan Humor +PersonalityQuirk.DEAD_PAN_HUMOR.description=%s frequently employ%s deadpan humor, often delivering\ + \ dry jokes that confuse others about whether they're serious or joking. + +PersonalityQuirk.DRILLS.text=Obsessed with Drills and Simulations +PersonalityQuirk.DRILLS.description=%s are obsessed with running drills and simulations, often pushing\ + \ the team to rehearse every scenario repeatedly. + +PersonalityQuirk.ENEMY_RESPECT.text=Respects Worthy Enemies +PersonalityQuirk.ENEMY_RESPECT.description=%s develop%s a respect for skilled opponents, sometimes\ + \ attempting to communicate or establish rapport with them, even during battle. + +PersonalityQuirk.EXTREME_MORNING_PERSON.text=Extremely Morning-Oriented +PersonalityQuirk.EXTREME_MORNING_PERSON.description=%s operate%s best in the early hours, often waking\ + \ up before dawn to run maintenance checks or train before the rest of the crew awakens. + +PersonalityQuirk.GALLANT.text=Gallant in Battle +PersonalityQuirk.GALLANT.description=%s display%s a gallant attitude in combat, often putting themselves\ + \ in harm's way to protect allies or civilians, sometimes unnecessarily. + +PersonalityQuirk.IRON_STOMACH.text=Can Eat Anything +PersonalityQuirk.IRON_STOMACH.description=%s hold%s an iron stomach, able to consume questionable\ + \ rations or battlefield-prepared meals without hesitation or complaint. + +PersonalityQuirk.MISSION_CRITIC.text=Hyper-Critical of Mission Plans +PersonalityQuirk.MISSION_CRITIC.description=%s tend%s to be overly critical of mission plans, always\ + \ suggesting improvements or expressing doubts about the current strategy. + +PersonalityQuirk.NO_PAIN_NO_GAIN.text=Believes in "No Pain, No Gain" +PersonalityQuirk.NO_PAIN_NO_GAIN.description=%s believe%s that hardship leads to success, often pushing\ + \ themselves and others to endure discomfort or pain to achieve goals. + +PersonalityQuirk.PERSONAL_ARMORY.text=Keeps a Personal Armory +PersonalityQuirk.PERSONAL_ARMORY.description=%s maintain%s a personal armory, collecting a variety\ + \ of weapons and gear, which they're constantly tinkering with or upgrading. + +PersonalityQuirk.QUICK_ADAPTER.text=Adapts Quickly to New Situations +PersonalityQuirk.QUICK_ADAPTER.description=%s adapt%s quickly to unexpected developments, often coming\ + \ up with impromptu solutions that surprise even their allies. + +PersonalityQuirk.RETALIATOR.text=Seeks Revenge for Any Slight +PersonalityQuirk.RETALIATOR.description=%s are extremely vengeful, seeking immediate retaliation for\ + \ any perceived slight or insult, whether in training or real combat. + +PersonalityQuirk.RUSH_HOUR.text=Enjoys the Heat of Battle +PersonalityQuirk.RUSH_HOUR.description=%s enjoy%s the adrenaline rush of intense combat, often looking\ + \ for opportunities to be at the center of action, even if it's risky. + +PersonalityQuirk.SILENT_PROTECTOR.text=Protects Allies Silently +PersonalityQuirk.SILENT_PROTECTOR.description=%s silently protect%s their teammates, often taking on\ + \ threats or positioning themselves defensively without drawing attention to their actions. + +PersonalityQuirk.ALWAYS_TACTICAL.text=Always Thinking Tactically +PersonalityQuirk.ALWAYS_TACTICAL.description=%s are constantly thinking in tactical terms, even in\ + \ everyday situations, often assessing people and places as potential combat scenarios. + +PersonalityQuirk.BATTLE_SCREAM.text=Uses a Battle Scream +PersonalityQuirk.BATTLE_SCREAM.description=%s unleash%s a loud battle cry when engaging enemies,\ + \ claiming it boosts morale and intimidates opponents. + +PersonalityQuirk.BRIEF_AND_TO_THE_POINT.text=Brief and To the Point +PersonalityQuirk.BRIEF_AND_TO_THE_POINT.description=%s speak%s in short, direct sentences, rarely\ + \ elaborating and often leaving others to interpret their meaning. + +PersonalityQuirk.CALLSIGN_COLLECTOR.text=Collects Callsigns +PersonalityQuirk.CALLSIGN_COLLECTOR.description=%s are fascinated by callsigns, often collecting\ + \ stories about how others earned theirs and giving nicknames to everyone they meet. + +PersonalityQuirk.CHATTERBOX.text=Constant Chatterbox +PersonalityQuirk.CHATTERBOX.description=%s talk%s constantly, even during intense combat situations,\ + \ often using chatter to relieve tension or distract foes. + +PersonalityQuirk.COMBAT_ARTIST.text=Combat as Art Form +PersonalityQuirk.COMBAT_ARTIST.description=%s view%s combat as an art form, seeking creative or\ + \ stylish ways to engage enemies and often incorporating flamboyant maneuvers. + +PersonalityQuirk.DARING_ESCAPE.text=Specializes in Daring Escapes +PersonalityQuirk.DARING_ESCAPE.description=%s are known for pulling off daring escapes, often getting\ + \ themselves into risky situations just to make the getaway more thrilling. + +PersonalityQuirk.DOOMSDAY_PREPPER.text=Battlefield Doomsday Prepper +PersonalityQuirk.DOOMSDAY_PREPPER.description=%s prepare%s excessively for worst-case scenarios, often\ + \ carrying extra survival gear and emergency supplies into combat. + +PersonalityQuirk.EQUIPMENT_SCAVENGER.text=Scavenges for Gear +PersonalityQuirk.EQUIPMENT_SCAVENGER.description=%s hold%s a habit of scavenging for useful gear on\ + \ the battlefield, often collecting parts and gadgets from fallen Meks or outposts. + +PersonalityQuirk.FRIEND_TO_FOES.text=Sympathetic to Enemies +PersonalityQuirk.FRIEND_TO_FOES.description=%s sometimes express%s sympathy for enemies, seeing them\ + \ as misguided or driven by unfortunate circumstances, even during battle. + +PersonalityQuirk.GUNG_HO.text=Gung-Ho Attitude +PersonalityQuirk.GUNG_HO.description=%s are extremely enthusiastic about combat missions, often\ + \ volunteering for the most dangerous tasks with boundless energy. + +PersonalityQuirk.INSPIRATIONAL_POET.text=Recites Inspirational Poems +PersonalityQuirk.INSPIRATIONAL_POET.description=%s recite%s inspirational poems or quotes during \ + intense moments, believing that words of wisdom can turn the tide of battle. + +PersonalityQuirk.MEK_MATCHMAKER.text=Believes in Mek Compatibility +PersonalityQuirk.MEK_MATCHMAKER.description=%s believe%s that certain Meks and pilots are "meant to\ + \ be," often assigning personalities or traits to Meks based on their pilots. + +PersonalityQuirk.MISSILE_JUNKIE.text=Missile Enthusiast +PersonalityQuirk.MISSILE_JUNKIE.description=%s hold%s a fascination with missiles, preferring loadouts\ + \ that maximize explosive firepower and often pushing for missile-heavy strategies. + +PersonalityQuirk.NEVER_RETREAT.text=Never Retreats +PersonalityQuirk.NEVER_RETREAT.description=%s refuse%s to retreat under any circumstances, even when\ + \ tactically advisable, seeing it as a personal code of honor. + +PersonalityQuirk.OPTIMISTIC_TO_A_FAULT.text=Optimistic to a Fault +PersonalityQuirk.OPTIMISTIC_TO_A_FAULT.description=%s maintain%s an overly optimistic outlook, always\ + \ expecting the best outcome even in dire situations, sometimes underestimating risks. + +PersonalityQuirk.REACTIVE.text=Highly Reactive +PersonalityQuirk.REACTIVE.description=%s respond%s instantly to any threat or provocation, often\ + \ acting impulsively without waiting for orders or analyzing the situation. + +PersonalityQuirk.RISK_TAKER.text=Extreme Risk Taker +PersonalityQuirk.RISK_TAKER.description=%s are drawn to extreme risks, often attempting dangerous\ + \ maneuvers or bold strategies regardless of potential consequences. + +PersonalityQuirk.SIGNATURE_MOVE.text=Has a Signature Combat Move +PersonalityQuirk.SIGNATURE_MOVE.description=%s hold%s developed a signature combat move that they use\ + \ whenever possible, often as a personal trademark in battle. + +PersonalityQuirk.TACTICAL_WITHDRAWAL.text=Strategically Withdraws +PersonalityQuirk.TACTICAL_WITHDRAWAL.description=%s are experts at tactical retreats, knowing exactly\ + \ when to pull back to avoid unnecessary losses while regrouping for a counterattack. + +PersonalityQuirk.ACCENT_SWITCHER.text=Switches Accents Randomly +PersonalityQuirk.ACCENT_SWITCHER.description=%s frequently switch%s accents while speaking, often\ + \ confusing allies or attempting to imitate enemy factions. + +PersonalityQuirk.AMBUSH_LOVER.text=Ambush Specialist +PersonalityQuirk.AMBUSH_LOVER.description=%s excel%s at setting up ambushes, always looking for ways\ + \ to lure enemies into traps and strike from unexpected angles. + +PersonalityQuirk.BATTLE_HARDENED.text=Battle-Hardened Stoic +PersonalityQuirk.BATTLE_HARDENED.description=%s display%s little emotion in combat, maintaining a\ + \ stoic demeanor regardless of the situation, often unnerving their allies and enemies alike. + +PersonalityQuirk.BREAKS_RADIO_SILENCE.text=Breaks Radio Silence +PersonalityQuirk.BREAKS_RADIO_SILENCE.description=%s often break%s radio silence during missions,\ + \ either to share updates, make jokes, or offer reassurance, even when stealth is crucial. + +PersonalityQuirk.CONVOY_LOVER.text=Prefers Convoy Missions +PersonalityQuirk.CONVOY_LOVER.description=%s hold%s a strong preference for convoy escort missions,\ + \ enjoying the sense of responsibility and defensive coordination. + +PersonalityQuirk.DEBRIS_SLINGER.text=Uses Debris as Weapons +PersonalityQuirk.DEBRIS_SLINGER.description=%s frequently use%s battlefield debris as makeshift\ + \ weapons or cover, adapting quickly to whatever the environment provides. + +PersonalityQuirk.CAMOUFLAGE.text=Likes to Camouflage Equipment +PersonalityQuirk.CAMOUFLAGE.description=%s love%s camouflaging their equipment to blend into the\ + \ environment, often spending extra time on detailed paint jobs and coverings. + +PersonalityQuirk.DISTANT_LEADER.text=Leads from a Distance +PersonalityQuirk.DISTANT_LEADER.description=%s prefer%s to lead from the rear, giving orders and\ + \ managing tactics remotely while avoiding direct confrontation. + +PersonalityQuirk.DRAMATIC_FINISH.text=Prefers Dramatic Finishes +PersonalityQuirk.DRAMATIC_FINISH.description=%s alway%s aim for a dramatic conclusion in battles,\ + \ whether it's a final charge, an over-the-top shot, or a flashy victory pose. + +PersonalityQuirk.ENGINE_REVERER.text=Reveres Fusion Engines +PersonalityQuirk.ENGINE_REVERER.description=%s hold%s a deep reverence for fusion engines, treating \ + them like the heart of the machine and performing rituals before every mission. + +PersonalityQuirk.FLIRTY_COMMS.text=Flirts Over Comms +PersonalityQuirk.FLIRTY_COMMS.description=%s frequently flirt%s over the comms, using charm as a\ + \ distraction or morale boost, often to the amusement or annoyance of their teammates. + +PersonalityQuirk.FOCUS_FREAK.text=Hyper-Focused Under Pressure +PersonalityQuirk.FOCUS_FREAK.description=%s become%s hyper-focused in critical moments, often tuning \ + out everything except the immediate threat, which can be both an asset and a weakness. + +PersonalityQuirk.FOUL_MOUTHED.text=Foul-Mouthed in Combat +PersonalityQuirk.FOUL_MOUTHED.description=%s curse%s profusely during combat, using colorful language\ + \ to express frustration, aggression, or even excitement. + +PersonalityQuirk.FREESTYLE_COMBAT.text=Uses Freestyle Combat Tactics +PersonalityQuirk.FREESTYLE_COMBAT.description=%s often use%s unconventional or freestyle combat tactics,\ + \ improvising as they go and surprising both allies and enemies. + +PersonalityQuirk.GEOMETRY_GURU.text=Calculates Firing Angles +PersonalityQuirk.GEOMETRY_GURU.description=%s meticulously calculate%s firing angles and ricochet paths,\ + \ often using math to gain an edge in complex combat situations. + +PersonalityQuirk.ICE_COLD.text=Emotionless in Combat +PersonalityQuirk.ICE_COLD.description=%s maintain%s a completely emotionless demeanor during combat,\ + \ often unnerving allies and making enemies question their sanity. + +PersonalityQuirk.PICKY_ABOUT_GEAR.text=Extremely Picky About Gear +PersonalityQuirk.PICKY_ABOUT_GEAR.description=%s are highly selective about their equipment, refusing\ + \ to use certain weapons or tech that doesn't meet their personal standards. + +PersonalityQuirk.RECORD_KEEPER.text=Detailed Battle Recorder +PersonalityQuirk.RECORD_KEEPER.description=%s meticulously record%s every battle detail, reviewing\ + \ logs and analyzing their performance with obsessive precision. + +PersonalityQuirk.RESOURCE_SCROUNGER.text=Resourceful Scrounger +PersonalityQuirk.RESOURCE_SCROUNGER.description=%s are skilled at scrounging for resources, finding\ + \ spare parts, ammo, and other useful items even in seemingly empty locations. + +PersonalityQuirk.TRASH_TALKER.text=Relentless Trash Talker +PersonalityQuirk.TRASH_TALKER.description=%s frequently trash-talk%s enemies during combat, trying to\ + \ throw them off balance with insults and psychological tactics. + +PersonalityQuirk.CORRECTS_PRONOUNS.text=Quick to Correct Pronouns +PersonalityQuirk.CORRECTS_PRONOUNS.description=%s promptly correct%s others when they use incorrect\ + \ pronouns, doing so confidently and without hesitation, as maintaining this respect is essential to their sense of identity. + +PersonalityQuirk.BODY_DISCOMFORT.text=Uncomfortable in Their Own Body +PersonalityQuirk.BODY_DISCOMFORT.description=%s frequently feel%s a deep sense of discomfort or\ + \ disconnect with their own body, often avoiding mirrors or tight-fitting clothing, and struggling\ + \ with a pervasive sense that their physical form doesn't match who they truly are.