diff --git a/MyLittleRimPony/About/About.xml b/MyLittleRimPony/About/About.xml index 248fbfd7..eff8ab9f 100644 --- a/MyLittleRimPony/About/About.xml +++ b/MyLittleRimPony/About/About.xml @@ -3,7 +3,7 @@ GeodesicDragon geodesicdragon.rimpony https://github.com/GeodesicDragon/mylittlerimpony/wiki - 6.33.82 + 6.39.93
  • 1.5
  • diff --git a/MyLittleRimPony/About/Changelog.txt b/MyLittleRimPony/About/Changelog.txt index e4d9b0e8..7e0a55ae 100644 --- a/MyLittleRimPony/About/Changelog.txt +++ b/MyLittleRimPony/About/Changelog.txt @@ -1,3 +1,28 @@ +Version 6.39.93 (December 11th 2024) + +* Core: Letters sent by the research tracker now tell you what recipes have been unlocked. +* Core: Added a new recipe to the Daybreaker statue which lets you convert 100 gold into 833 wood. +* Royalty: Added two new recipes to the Nightmare Moon statue which let you request psychic readers and psychic harmonisers. + * Psychic harmonizer: 1550 silver (1.5x the market value of 1030, as specified on the RimWorld wiki). + * Psychic reader: 1500 silver (1.5x the market value of 1000, as specified on the RimWorld wiki). + * Both recipes are unlocked once you complete the 'psychic items' research. +* Biotech: Added a new recipe to the Daybreaker statue which allows you to safely dispose of toxic waste, 250 at a time. + * Recipe is unlocked after researching the wastepack atomizer. + * Requires 250 chemfuel (or five times whatever you set your default to in XML Extensions). + * Also costs 2500 silver, as Daybreaker isn't exactly going to do this sort of thing for free. +* Alpha Genes: Added a new recipe to the Fabric Exchange which allows you to purchase 100 ultima fabric for 500 silver. +* Core: Renamed the 'plushie workbench' to the 'pony workbench.' +* Biotech: The Princess Cadence plushie now increases fertility by 25% on top of her usual bonus. ;) +* Dubs Bad Hygiene: The recipe to make chemfuel from fecal sludge is now unlocked after researching biofuel refining. +* Higher Power: Increased the power output bonus given to Screwballs after researching advanced power to 50% (was 10%). +* Ponies of the Rim/Core: Saddle bags and battle saddles can now be made at the pony workbench. +* Ponies of the Rim/Ideology: Fixed bronies and anti bronies being affected by some pony supremacy related thoughts when they shouldn't. +* Ponies of the Rim/Ideology: The NPC faction can no longer use any pony supremacy memes. (Only applies when starting a new game.) +* Ponies of the Rim/Biotech: The diamond dog faction can no longer use any pony supremacy memes. (Only applies when starting a new game.) +* Ponies of the Rim/Alpha Genes: The batpony faction can no longer use any pony supremacy memes. (Only applies when starting a new game.) +* Vanilla Expanded Framework: When starting a new colony, the Core NPC faction will now start as allied if you begin the Brony Community, Brony Xenotypes or Equestrian Expedition (Ponies of the Rim) scenarios, and hostile if you begin the Renegade Alicorn scenario. +* XML Extensions: Removed the ability to edit the behaviour of factions in Rim War. + Version 6.33.82 (November 25th 2024) IMPORTANT: Non-Steam users are advised to perform a fresh install, as some files have been moved to different folders. diff --git a/MyLittleRimPony/Alpha Genes/Defs/RecipeDefs/FabricExchange_AGMaterials.xml b/MyLittleRimPony/Alpha Genes/Defs/RecipeDefs/FabricExchange_AGMaterials.xml new file mode 100644 index 00000000..fc283ad3 --- /dev/null +++ b/MyLittleRimPony/Alpha Genes/Defs/RecipeDefs/FabricExchange_AGMaterials.xml @@ -0,0 +1,22 @@ + + + + MLRP_FE_AG_Ultima + + Use silver to purchase 100 ultima fabric.\n\nAnyone can purchase this, but only colonists with the Forsaken Knowledge gene can actually do anything with it. + +
  • + + +
  • Silver
  • + + + 50 + +
    + + 100 + +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Anomaly/Defs/RecipeDefs/_Daybreaker_AnomalyBases.xml b/MyLittleRimPony/Anomaly/Defs/RecipeDefs/_Daybreaker_AnomalyBases.xml index 76666b5f..fde5763d 100644 --- a/MyLittleRimPony/Anomaly/Defs/RecipeDefs/_Daybreaker_AnomalyBases.xml +++ b/MyLittleRimPony/Anomaly/Defs/RecipeDefs/_Daybreaker_AnomalyBases.xml @@ -1,16 +1,5 @@ - - -
  • - - -
  • Chemfuel
  • - - - 250 - -
    -
    +
    \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Defs/RecipeDefs/Daybreaker_ToxicWasteRemoval.xml b/MyLittleRimPony/Biotech/Defs/RecipeDefs/Daybreaker_ToxicWasteRemoval.xml new file mode 100644 index 00000000..2ad0181b --- /dev/null +++ b/MyLittleRimPony/Biotech/Defs/RecipeDefs/Daybreaker_ToxicWasteRemoval.xml @@ -0,0 +1,41 @@ + + + + MLRP_DB_ToxicWasteRemoval + + Allows you to safely dispose of toxic waste, although Daybreaker expects a lot of silver for the privilege.\n\nThe process is completed without any pollution being released, but it also requires a lot of chemfuel. + WastepackAtomizer + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_Daybreaker
  • +
    + +
  • + + +
  • Wastepack
  • + + + 250 + +
  • + + +
  • Silver
  • + + + 250 + +
    + + + +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Patches/My Little RimPony/CadencePlushieUpdates.xml b/MyLittleRimPony/Biotech/Patches/My Little RimPony/CadencePlushieUpdates.xml new file mode 100644 index 00000000..535ef470 --- /dev/null +++ b/MyLittleRimPony/Biotech/Patches/My Little RimPony/CadencePlushieUpdates.xml @@ -0,0 +1,24 @@ + + + + Defs/ThingDef[defName="PonyPlush_PrincessCadence"]/equippedStatOffsets + + 0.25 + + + + + Defs/ThingDef[defName="PonyPlush_PrincessCadence"]/description + + Princess Cadence believes that love is the greatest weapon one can wield.\n\nCarrying her makes you feel as though your heart cannot be broken, but it also makes you feel a bit... frisky. + + + + + Defs/HediffDef[defName="MLRP_HarmonyChipInstalled"]/stages/li/statOffsets + + 0.25 + + + + \ No newline at end of file diff --git a/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll b/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll index ce47925e..982a7968 100644 Binary files a/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll and b/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll differ diff --git a/MyLittleRimPony/Core/Defs/FactionDefs/MLP_Faction_NPC.xml b/MyLittleRimPony/Core/Defs/FactionDefs/MLP_Faction_NPC.xml index 317bee1c..c53aa246 100644 --- a/MyLittleRimPony/Core/Defs/FactionDefs/MLP_Faction_NPC.xml +++ b/MyLittleRimPony/Core/Defs/FactionDefs/MLP_Faction_NPC.xml @@ -153,6 +153,15 @@ + +
  • + + 100 + -75 + 100 + +
  • +
    diff --git a/MyLittleRimPony/Core/Defs/RecipeDefs/DaybreakerWoodConversion.xml b/MyLittleRimPony/Core/Defs/RecipeDefs/DaybreakerWoodConversion.xml index e4fb1d33..60bf0f87 100644 --- a/MyLittleRimPony/Core/Defs/RecipeDefs/DaybreakerWoodConversion.xml +++ b/MyLittleRimPony/Core/Defs/RecipeDefs/DaybreakerWoodConversion.xml @@ -62,4 +62,35 @@ + + + + MLRP_DB_ConvertGoldIntoWood + + Convert 100 gold into 833 wood. + Converting materials + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_Daybreaker
  • +
    + +
  • + + +
  • Gold
  • + + + 10 + +
    + + 833 + +
    + \ No newline at end of file diff --git a/MyLittleRimPony/Core/Defs/RecipeDefs/_Daybreaker_ChemfuelBases.xml b/MyLittleRimPony/Core/Defs/RecipeDefs/_Daybreaker_ChemfuelBases.xml index 9b3937cb..7cb717a5 100644 --- a/MyLittleRimPony/Core/Defs/RecipeDefs/_Daybreaker_ChemfuelBases.xml +++ b/MyLittleRimPony/Core/Defs/RecipeDefs/_Daybreaker_ChemfuelBases.xml @@ -51,5 +51,31 @@ + + + +
  • + + +
  • Chemfuel
  • + + + 200 + +
    +
    + + + +
  • + + +
  • Chemfuel
  • + + + 250 + +
    +
    \ No newline at end of file diff --git a/MyLittleRimPony/Core/Defs/ThingDef_Buildings/PlushieBench.xml b/MyLittleRimPony/Core/Defs/ThingDef_Buildings/PlushieBench.xml index a0b4c592..d3721c1d 100644 --- a/MyLittleRimPony/Core/Defs/ThingDef_Buildings/PlushieBench.xml +++ b/MyLittleRimPony/Core/Defs/ThingDef_Buildings/PlushieBench.xml @@ -2,8 +2,8 @@ PlushieBench - - A workbench with a sewing machine; while mostly dedicated to the creation of pony plushies, it can create other pony-themed items as well.\n\nCan work without electricity at 50% of its normal speed. + + A workbench dedicated to the creation of plushies and other pony-themed items.\n\nCan work without electricity at 50% of its normal speed. Building_WorkTable Misc12 diff --git a/MyLittleRimPony/Core/Defs/TipSetDef/MyLittleRimPony_Tips.xml b/MyLittleRimPony/Core/Defs/TipSetDef/MyLittleRimPony_Tips.xml index 8f1bcec0..a27871c6 100644 --- a/MyLittleRimPony/Core/Defs/TipSetDef/MyLittleRimPony_Tips.xml +++ b/MyLittleRimPony/Core/Defs/TipSetDef/MyLittleRimPony_Tips.xml @@ -14,7 +14,7 @@
  • Giving a Sweetie Belle plush to a pawn with low Cooking skill will slightly reduce the chance of them poisoning meals.
  • Screwball generators can be built from pretty much any material, including wood.
  • Since Discord lamps don't require power, they are able to continue providing light during solar flares.
  • -
  • If you have the XML Extensions mod enabled, you can configure many parts of this mod to your liking, such as whether or not bronies can be violent and how many textiles you need to craft plushies.
  • +
  • If you have the XML Extensions mod enabled, you can configure many parts of this mod to your liking, such as how many textiles you need to craft plushies.
  • Nurse Redheart will spawn medicine as long as she has enough power.
  • The Super Speedy Cider Squeezy 6000 will spawn beer as long as it has enough power.
  • Mudbriar, Quibble Pants and Zephyr Breeze turrets do no damage, but can help to distract raiders. They are, however, quite expensive to build.
  • diff --git a/MyLittleRimPony/Core/Languages/English/Keyed/Keys.xml b/MyLittleRimPony/Core/Languages/English/Keyed/Keys.xml index d48c63a9..145c740e 100644 --- a/MyLittleRimPony/Core/Languages/English/Keyed/Keys.xml +++ b/MyLittleRimPony/Core/Languages/English/Keyed/Keys.xml @@ -36,16 +36,17 @@ A pawn with the anti brony trait has a harmony chip installed. This will cause a -10 penalty to their mood until it is removed. + New recipe(s) unlocked - New recipe(s) available at the Daybreaker statue. - New recipe(s) available at the plushie bench. - New recipe(s) available at the Fabric Exchange. - New recipe(s) available at the Stone Exchange. - New recipe(s) available at the Nightmare Moon statue. - New recipe(s) available from Thingpone. - Advanced power researched - +10% to Screwball power output. + + Now available at the Daybreaker statue:\n\n{0} + Now available at the Nightmare Moon statue:\n\n{0} + Now available at the pony workbench:\n\n{0} + Now available at the Fabric Exchange:\n\n{0} + Now available at Thingpone:\n\n{0} + Advanced power researched + +50% to Screwball power output. \ No newline at end of file diff --git a/MyLittleRimPony/Core/Languages/French/DefInjected/ThingDefs/MLRP_Buildings_FR.xml b/MyLittleRimPony/Core/Languages/French/DefInjected/ThingDefs/MLRP_Buildings_FR.xml index 727ff085..e5e1ed4a 100644 --- a/MyLittleRimPony/Core/Languages/French/DefInjected/ThingDefs/MLRP_Buildings_FR.xml +++ b/MyLittleRimPony/Core/Languages/French/DefInjected/ThingDefs/MLRP_Buildings_FR.xml @@ -45,8 +45,8 @@ Lampe de discorde - - C'est une lampe qui ressemble à Discord, que dire d'autre?\n\nElle ne fournit pas beaucoup de lumière, mais elle n'a pas besoin d'énergie et continue à fonctionner pendant les éruptions solaires. + + C'est une lampe qui ressemble à Discord, que dire d'autre ? Bien qu'elle ne fournisse pas beaucoup de lumière, elle n'a pas besoin d'énergie et continuera à fonctionner même en cas d'éruption solaire.\n\nSon design unique plaît même à vos ennemis, qui ne la prendront pas pour cible lors de leurs raids. Mudbriar @@ -67,10 +67,10 @@ En tant qu'infirmière, Redheart a tout vu ; elle sait qu'il est vital d'être prêt à toute éventualité.\n\nCe bâtiment produira des médicaments après un certain temps. - Établi pour peluche de poney + Etabli poney - - Un établi avec une machine à coudre; bien qu'il soit principalement dédié à la création de peluches poneys, il peut également créer d'autres objets sur le thème des poneys.\n\nPeut fonctionner sans électricité à 50 % de sa vitesse normale. + + Un établi dédié à la création de peluches et d'autres objets sur le thème des poneys.\n\nPeut travailler sans électricité à 50 % de sa vitesse normale. Quibble Pants diff --git a/MyLittleRimPony/Core/Languages/French/DefInjected/TipSetDefs/Tips.xml b/MyLittleRimPony/Core/Languages/French/DefInjected/TipSetDefs/Tips.xml index b200b2b6..92127486 100644 --- a/MyLittleRimPony/Core/Languages/French/DefInjected/TipSetDefs/Tips.xml +++ b/MyLittleRimPony/Core/Languages/French/DefInjected/TipSetDefs/Tips.xml @@ -33,8 +33,8 @@ Les lampes de la discorde n'ayant pas besoin d'être alimentées en électricité, elles peuvent continuer à fournir de la lumière pendant les éruptions solaires. - - Si vous avez activé le mod XML Extensions, vous pouvez configurer de nombreuses parties de ce mod à votre convenance, comme le fait de savoir si les bronies peuvent être violents ou non et combien de textiles sont nécessaires pour fabriquer des peluches. + + Si vous avez activé le mod XML Extensions, vous pouvez configurer de nombreuses parties de ce mod à votre guise, comme le nombre de textiles nécessaires pour fabriquer des peluche de poneys. L'infirmière Redheart produira des médicaments tant qu'elle aura assez d'énergie. diff --git a/MyLittleRimPony/Core/Languages/French/Keyed/Keys.xml b/MyLittleRimPony/Core/Languages/French/Keyed/Keys.xml index 64d220b7..c048a2d4 100644 --- a/MyLittleRimPony/Core/Languages/French/Keyed/Keys.xml +++ b/MyLittleRimPony/Core/Languages/French/Keyed/Keys.xml @@ -45,6 +45,6 @@ Nouvelle recette(s) disponible à la statue Nightmare Moon. Nouvelle recette(s) disponible à la Thingpone. Recherche avancée de puissance - +10% à la puissance de sortie de la boule de vis. + +50% à la puissance de sortie de la boule de vis. \ No newline at end of file diff --git a/MyLittleRimPony/Core/Patches/Core/AddRuinedPlushiesToCoreLootTables.xml b/MyLittleRimPony/Core/Patches/Core/AddRuinedPlushiesToCoreLootTables.xml index 9274c872..4f7200e3 100644 --- a/MyLittleRimPony/Core/Patches/Core/AddRuinedPlushiesToCoreLootTables.xml +++ b/MyLittleRimPony/Core/Patches/Core/AddRuinedPlushiesToCoreLootTables.xml @@ -1,10 +1,3 @@ - - \ No newline at end of file diff --git a/MyLittleRimPony/Core/Patches/Higher Power/ExtraScrewballOutput.xml b/MyLittleRimPony/Core/Patches/Higher Power/ExtraScrewballOutput.xml index 31e04fa8..c2d1d52f 100644 --- a/MyLittleRimPony/Core/Patches/Higher Power/ExtraScrewballOutput.xml +++ b/MyLittleRimPony/Core/Patches/Higher Power/ExtraScrewballOutput.xml @@ -9,7 +9,7 @@
  • HP_AdvancedPower - 1.1 + 1.5
  • diff --git a/MyLittleRimPony/Dubs Bad Hygiene/Defs/RecipeDefs/DBH_DB_Recipes.xml b/MyLittleRimPony/Dubs Bad Hygiene/Defs/RecipeDefs/DBH_DB_Recipes.xml index 274367d2..116a2afd 100644 --- a/MyLittleRimPony/Dubs Bad Hygiene/Defs/RecipeDefs/DBH_DB_Recipes.xml +++ b/MyLittleRimPony/Dubs Bad Hygiene/Defs/RecipeDefs/DBH_DB_Recipes.xml @@ -29,7 +29,7 @@ 700 - SepticTanks + BiofuelRefining \ No newline at end of file diff --git a/MyLittleRimPony/HugsLib/News/NewMLRPFeatures.xml b/MyLittleRimPony/HugsLib/News/NewMLRPFeatures.xml index bf7e849e..221bc5e4 100644 --- a/MyLittleRimPony/HugsLib/News/NewMLRPFeatures.xml +++ b/MyLittleRimPony/HugsLib/News/NewMLRPFeatures.xml @@ -7,6 +7,12 @@ https://discord.gg/BGKnpza + + MLRP_Version_63993 + 6.39.93 + <b>WHAT'S NEW?</b>\n\n- Core: Letters sent by the research tracker now tell you what recipes have been unlocked.\n- Core: Added a new recipe to the Daybreaker statue which lets you convert 100 gold into 833 wood.\n- Royalty: Added two new recipes to the Nightmare Moon statue which let you request psychic readers and psychic harmonisers.\n- Biotech: Added a new recipe to the Daybreaker statue which allows you to safely dispose of toxic waste, 250 at a time.\n- Alpha Genes: Added a new recipe to the Fabric Exchange which allows you to purchase 100 ultima fabric for 500 silver.\n\n<b>WHAT'S CHANGED?</b>\n\n- Core: Renamed the 'plushie workbench' to the 'pony workbench.'\n- Biotech: The Princess Cadence plushie now increases fertility by 25% on top of her usual bonus. ;)\n- Dubs Bad Hygiene: The recipe to make chemfuel from fecal sludge is now unlocked after researching biofuel refining.\n- Higher Power: Increased the power output bonus given to Screwballs after researching advanced power to 50% (was 10%).\n\nPlease refer to the changelog for more info! + + MLRP_Version_63382 6.33.82 diff --git a/MyLittleRimPony/Ideology/Textures/Things/TreeOfHarmony.png b/MyLittleRimPony/Ideology/Textures/Things/_TreeOfHarmony.png similarity index 100% rename from MyLittleRimPony/Ideology/Textures/Things/TreeOfHarmony.png rename to MyLittleRimPony/Ideology/Textures/Things/_TreeOfHarmony.png diff --git a/MyLittleRimPony/Ponies of the Rim/Patches/Core/POTR_SaddlesCanBeMadeAtPlushieBench.xml b/MyLittleRimPony/Ponies of the Rim/Patches/Core/POTR_SaddlesCanBeMadeAtPlushieBench.xml new file mode 100644 index 00000000..7cca91f5 --- /dev/null +++ b/MyLittleRimPony/Ponies of the Rim/Patches/Core/POTR_SaddlesCanBeMadeAtPlushieBench.xml @@ -0,0 +1,10 @@ + + + + Defs/ThingDef[defName="Pony_SaddleBag" or defName="Pony_BattleSaddle"]/recipeMaker/recipeUsers + +
  • PlushieBench
  • +
    +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_Ideology_Precept_Patches.xml b/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_Ideology_Precept_Patches.xml new file mode 100644 index 00000000..6367c32a --- /dev/null +++ b/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_Ideology_Precept_Patches.xml @@ -0,0 +1,55 @@ + + + + + + +
  • Ideology
  • +
    + + Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social" or defName="Pony_Earthpony_Stricted" or defName="Pony_Unicorn_Stricted" or defName="Pony_Pegasus_Stricted"]/nullifyingTraits + + Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social" or defName="Pony_Earthpony_Stricted" or defName="Pony_Unicorn_Stricted" or defName="Pony_Pegasus_Stricted"] + + +
  • MLRP_BronyTrait
  • +
  • MLRP_AntiBronyTrait
  • +
    +
    +
    + + Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social" or defName="Pony_Earthpony_Stricted" or defName="Pony_Unicorn_Stricted" or defName="Pony_Pegasus_Stricted"]/nullifyingTraits + +
  • MLRP_BronyTrait
  • +
  • MLRP_AntiBronyTrait
  • +
    +
    +
    +
    + + + + + +
  • Ideology
  • +
    + + Defs/ThoughtDef[defName="TerribleFortune" or defName="BadFortune" or defName="GoodFortune" or defName="WonderfulFortune"]/nullifyingTraits + + Defs/ThoughtDef[defName="TerribleFortune" or defName="BadFortune" or defName="GoodFortune" or defName="WonderfulFortune"] + + +
  • MLRP_AntiBronyTrait
  • +
    +
    +
    + + Defs/ThoughtDef[defName="TerribleFortune" or defName="BadFortune" or defName="GoodFortune" or defName="WonderfulFortune"]/nullifyingTraits + +
  • MLRP_AntiBronyTrait
  • +
    +
    +
    +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_Ideology_ThoughtDef_Patches.xml b/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_Ideology_ThoughtDef_Patches.xml index 758f9af5..6367c32a 100644 --- a/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_Ideology_ThoughtDef_Patches.xml +++ b/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_Ideology_ThoughtDef_Patches.xml @@ -7,9 +7,9 @@
  • Ideology
  • - Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social"]/nullifyingTraits + Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social" or defName="Pony_Earthpony_Stricted" or defName="Pony_Unicorn_Stricted" or defName="Pony_Pegasus_Stricted"]/nullifyingTraits - Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social"] + Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social" or defName="Pony_Earthpony_Stricted" or defName="Pony_Unicorn_Stricted" or defName="Pony_Pegasus_Stricted"]
  • MLRP_BronyTrait
  • @@ -18,7 +18,7 @@
    - Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social"]/nullifyingTraits + Defs/ThoughtDef[defName="Pony_Everypony_Abhorrent" or defName="Pony_Everypony_Abhorrent_Social" or defName="Pony_Everypony_Horrible_Social" or defName="Pony_Everypony_Respected_Social" or defName="Pony_Everypony_Exalted" or defName="Pony_Everypony_Exalted_Social" or defName="Pony_Pegasus_Abhorrent" or defName="Pony_Pegasus_Abhorrent_Social" or defName="Pony_Pegasus_Horrible_Social" or defName="Pony_Pegasus_Respected_Social" or defName="Pony_Pegasus_Exalted" or defName="Pony_Pegasus_Exalted_Social" or defName="Pony_Earthpony_Abhorrent" or defName="Pony_Earthpony_Abhorrent_Social" or defName="Pony_Earthpony_Horrible_Social" or defName="Pony_Earthpony_Respected_Social" or defName="Pony_Earthpony_Exalted" or defName="Pony_Earthpony_Exalted_Social" or defName="Pony_Unicorn_Abhorrent" or defName="Pony_Unicorn_Abhorrent_Social" or defName="Pony_Unicorn_Horrible_Social" or defName="Pony_Unicorn_Respected_Social" or defName="Pony_Unicorn_Exalted" or defName="Pony_Unicorn_Exalted_Social" or defName="Pony_Earthpony_Stricted" or defName="Pony_Unicorn_Stricted" or defName="Pony_Pegasus_Stricted"]/nullifyingTraits
  • MLRP_BronyTrait
  • MLRP_AntiBronyTrait
  • diff --git a/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_NPCFactionsCannotBeSupremacist.xml b/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_NPCFactionsCannotBeSupremacist.xml new file mode 100644 index 00000000..b9e65d03 --- /dev/null +++ b/MyLittleRimPony/Ponies of the Rim/Patches/Ideology/POTR_NPCFactionsCannotBeSupremacist.xml @@ -0,0 +1,90 @@ + + + + + + +
  • Ideology
  • +
    + + Defs/FactionDef[defName="MLRP_NPC_Faction"]/disallowedMemes + + Defs/FactionDef[defName="MLRP_NPC_Faction"]/disallowedMemes + +
  • Pony_EarthponySupremacist
  • +
  • Pony_UnicornSupremacist
  • +
  • Pony_PegasusSupremacist
  • +
    +
    + + Defs/FactionDef[defName="MLRP_NPC_Faction"] + + +
  • Pony_EarthponySupremacist
  • +
  • Pony_UnicornSupremacist
  • +
  • Pony_PegasusSupremacist
  • +
    +
    +
    +
    +
    + + + + + +
  • Ideology
  • +
    + + Defs/FactionDef[defName="MLRP_DiamondDog_Faction"]/disallowedMemes + + Defs/FactionDef[defName="MLRP_DiamondDog_Faction"]/disallowedMemes + +
  • Pony_EarthponySupremacist
  • +
  • Pony_UnicornSupremacist
  • +
  • Pony_PegasusSupremacist
  • +
    +
    + + Defs/FactionDef[defName="MLRP_DiamondDog_Faction"] + + +
  • Pony_EarthponySupremacist
  • +
  • Pony_UnicornSupremacist
  • +
  • Pony_PegasusSupremacist
  • +
    +
    +
    +
    +
    + + + + + +
  • Ideology
  • +
    + + Defs/FactionDef[defName="MLRP_Batpony_Faction"]/disallowedMemes + + Defs/FactionDef[defName="MLRP_Batpony_Faction"]/disallowedMemes + +
  • Pony_EarthponySupremacist
  • +
  • Pony_UnicornSupremacist
  • +
  • Pony_PegasusSupremacist
  • +
    +
    + + Defs/FactionDef[defName="MLRP_Batpony_Faction"] + + +
  • Pony_EarthponySupremacist
  • +
  • Pony_UnicornSupremacist
  • +
  • Pony_PegasusSupremacist
  • +
    +
    +
    +
    +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsRoyalty.xml b/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsRoyalty.xml index 6621b470..556ee86f 100644 --- a/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsRoyalty.xml +++ b/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsRoyalty.xml @@ -576,4 +576,68 @@ MLRP_PsychicItemsResearch + + + + MLRP_NMM_PsychicHarmonizer + + Offer silver in exchange for a psychic harmonizer. + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 155 + +
    + + 1 + + MLRP_PsychicItemsResearch +
    + + + + + MLRP_NMM_PsychicReader + + Offer silver in exchange for a psychic reader. + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 150 + +
    + + 1 + + MLRP_PsychicItemsResearch +
    + \ No newline at end of file diff --git a/MyLittleRimPony/Royalty/Patches/Royalty/AddRuinedPlushiesToRoyaltyLootTable.xml b/MyLittleRimPony/Royalty/Patches/Royalty/AddRuinedPlushiesToRoyaltyLootTable.xml index b7c469ce..4f7200e3 100644 --- a/MyLittleRimPony/Royalty/Patches/Royalty/AddRuinedPlushiesToRoyaltyLootTable.xml +++ b/MyLittleRimPony/Royalty/Patches/Royalty/AddRuinedPlushiesToRoyaltyLootTable.xml @@ -1,10 +1,3 @@ - - Defs/ThingSetMakerDef[defName="EmpireRaidLootMaker"]/root/fixedParams/filter/thingDefs - -
  • PonyPlush_Ruined
  • -
    -
    -
    \ No newline at end of file diff --git a/MyLittleRimPony/Royalty/Patches/Royalty/TreeOfHarmony.xml b/MyLittleRimPony/Royalty/Patches/Royalty/TreeOfHarmony.xml index 580d23f8..51bd1373 100644 --- a/MyLittleRimPony/Royalty/Patches/Royalty/TreeOfHarmony.xml +++ b/MyLittleRimPony/Royalty/Patches/Royalty/TreeOfHarmony.xml @@ -1,3 +1,5 @@ + + \ No newline at end of file diff --git a/MyLittleRimPony/Royalty/Textures/Things/TreeOfHarmony.png b/MyLittleRimPony/Royalty/Textures/Things/TreeOfHarmony.png new file mode 100644 index 00000000..9d0c8be4 Binary files /dev/null and b/MyLittleRimPony/Royalty/Textures/Things/TreeOfHarmony.png differ diff --git a/MyLittleRimPony/Royalty/Textures/Things/TreeOfHarmony_Immature.png b/MyLittleRimPony/Royalty/Textures/Things/TreeOfHarmony_Immature.png new file mode 100644 index 00000000..9d0c8be4 Binary files /dev/null and b/MyLittleRimPony/Royalty/Textures/Things/TreeOfHarmony_Immature.png differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/551fa5c6-6e48-4e2d-9fba-e5aafac4827d.vsidx b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/551fa5c6-6e48-4e2d-9fba-e5aafac4827d.vsidx new file mode 100644 index 00000000..5542763b Binary files /dev/null and b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/551fa5c6-6e48-4e2d-9fba-e5aafac4827d.vsidx differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/6d5f7a40-de73-4556-b705-e077f54627c8.vsidx b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/6d5f7a40-de73-4556-b705-e077f54627c8.vsidx new file mode 100644 index 00000000..56cfc9ee Binary files /dev/null and b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/6d5f7a40-de73-4556-b705-e077f54627c8.vsidx differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/845d3eb7-6154-453a-a47b-2cbac210a721.vsidx b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/845d3eb7-6154-453a-a47b-2cbac210a721.vsidx deleted file mode 100644 index be03c634..00000000 Binary files a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/845d3eb7-6154-453a-a47b-2cbac210a721.vsidx and /dev/null differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/a1f8be0f-7c2f-48c2-9fa0-d21e20d3306a.vsidx b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/a1f8be0f-7c2f-48c2-9fa0-d21e20d3306a.vsidx new file mode 100644 index 00000000..d01b7022 Binary files /dev/null and b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/a1f8be0f-7c2f-48c2-9fa0-d21e20d3306a.vsidx differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/ca124889-f7ba-46de-aec4-e1908e356a85.vsidx b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/ca124889-f7ba-46de-aec4-e1908e356a85.vsidx deleted file mode 100644 index 0a3bfd6d..00000000 Binary files a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/ca124889-f7ba-46de-aec4-e1908e356a85.vsidx and /dev/null differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/f695a799-b298-4b46-a9d3-d3704b0f3b78.vsidx b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/f695a799-b298-4b46-a9d3-d3704b0f3b78.vsidx deleted file mode 100644 index 450c158b..00000000 Binary files a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/FileContentIndex/f695a799-b298-4b46-a9d3-d3704b0f3b78.vsidx and /dev/null differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/.suo b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/.suo index 3354226f..418f7683 100644 Binary files a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/.suo and b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/.suo differ diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.backup.json b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.backup.json index 55ce9770..6468c390 100644 --- a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.backup.json +++ b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.backup.json @@ -9,10 +9,6 @@ "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\mylittlerimpony\\source\\potr_compatibility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:potr_compatibility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mlrp_researchnotifications.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mlrp_researchnotifications.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -21,6 +17,10 @@ "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mylittlerimpony.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mylittlerimpony.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\mylittlerimpony\\source\\||{B270807C-D8C6-49EB-8EBE-8E8D566637A1}|5e9a8ac2-4f34-4521-858f-4c248ba31532" } @@ -48,37 +48,37 @@ }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 3, "Title": "MyLittleRimPony.cs", "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MyLittleRimPony.cs", "RelativeDocumentMoniker": "MyLittleRimPony.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MyLittleRimPony.cs", "RelativeToolTip": "MyLittleRimPony.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAABHAAAAAAAAAA==", + "ViewState": "AgIAAIEAAAAAAAAAAAAuwAgAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-06T18:35:21.326Z" }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 4, "Title": "MLRP_Biotech.cs", "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_Biotech.cs", "RelativeDocumentMoniker": "MLRP_Biotech.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_Biotech.cs", "RelativeToolTip": "MLRP_Biotech.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAGwAAAB4AQAAAAAAAA==", + "ViewState": "AgIAANEAAAAAAAAAAAAYwOoAAAAFAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-21T15:20:51.722Z" }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 2, "Title": "MLRP_ResearchNotifications.cs", "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_ResearchNotifications.cs", "RelativeDocumentMoniker": "MLRP_ResearchNotifications.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_ResearchNotifications.cs", "RelativeToolTip": "MLRP_ResearchNotifications.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAADwAAABJAAAAAAAAAA==", + "ViewState": "AgIAANgAAAAAAAAAAAAjwAMBAABZAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-06T18:35:23.95Z" }, @@ -90,7 +90,7 @@ "RelativeDocumentMoniker": "POTR_Compatibility.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\POTR_Compatibility.cs", "RelativeToolTip": "POTR_Compatibility.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAC4AAABWAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAMAAAAMAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-11-23T19:49:45.805Z", "EditorCaption": "" diff --git a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.json b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.json index 55ce9770..6468c390 100644 --- a/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.json +++ b/MyLittleRimPony/Source/.vs/MLRP_Assemblies/v17/DocumentLayout.json @@ -9,10 +9,6 @@ "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\mylittlerimpony\\source\\potr_compatibility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:potr_compatibility.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, - { - "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, { "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mlrp_researchnotifications.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mlrp_researchnotifications.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" @@ -21,6 +17,10 @@ "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mylittlerimpony.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mylittlerimpony.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, + { + "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|solutionrelative:mlrp_biotech.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{3D8E10F8-B54B-496B-B134-B150B410CC74}|MLRP_Assemblies.csproj|e:\\steamlibrary\\steamapps\\common\\rimworld\\mods\\mylittlerimpony\\source\\||{B270807C-D8C6-49EB-8EBE-8E8D566637A1}|5e9a8ac2-4f34-4521-858f-4c248ba31532" } @@ -48,37 +48,37 @@ }, { "$type": "Document", - "DocumentIndex": 4, + "DocumentIndex": 3, "Title": "MyLittleRimPony.cs", "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MyLittleRimPony.cs", "RelativeDocumentMoniker": "MyLittleRimPony.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MyLittleRimPony.cs", "RelativeToolTip": "MyLittleRimPony.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAABHAAAAAAAAAA==", + "ViewState": "AgIAAIEAAAAAAAAAAAAuwAgAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-06T18:35:21.326Z" }, { "$type": "Document", - "DocumentIndex": 2, + "DocumentIndex": 4, "Title": "MLRP_Biotech.cs", "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_Biotech.cs", "RelativeDocumentMoniker": "MLRP_Biotech.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_Biotech.cs", "RelativeToolTip": "MLRP_Biotech.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAGwAAAB4AQAAAAAAAA==", + "ViewState": "AgIAANEAAAAAAAAAAAAYwOoAAAAFAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-21T15:20:51.722Z" }, { "$type": "Document", - "DocumentIndex": 3, + "DocumentIndex": 2, "Title": "MLRP_ResearchNotifications.cs", "DocumentMoniker": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_ResearchNotifications.cs", "RelativeDocumentMoniker": "MLRP_ResearchNotifications.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\MLRP_ResearchNotifications.cs", "RelativeToolTip": "MLRP_ResearchNotifications.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAADwAAABJAAAAAAAAAA==", + "ViewState": "AgIAANgAAAAAAAAAAAAjwAMBAABZAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-08-06T18:35:23.95Z" }, @@ -90,7 +90,7 @@ "RelativeDocumentMoniker": "POTR_Compatibility.cs", "ToolTip": "E:\\SteamLibrary\\steamapps\\common\\RimWorld\\Mods\\MyLittleRimPony\\Source\\POTR_Compatibility.cs", "RelativeToolTip": "POTR_Compatibility.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAC4AAABWAAAAAAAAAA==", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAMAAAAMAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-11-23T19:49:45.805Z", "EditorCaption": "" diff --git a/MyLittleRimPony/Source/MLRP_Biotech.cs b/MyLittleRimPony/Source/MLRP_Biotech.cs index 9593a525..4e361bb8 100644 --- a/MyLittleRimPony/Source/MLRP_Biotech.cs +++ b/MyLittleRimPony/Source/MLRP_Biotech.cs @@ -1,5 +1,4 @@ -using MyLittleRimPony; -using RimWorld; +using RimWorld; using System.Collections.Generic; using Verse; @@ -234,5 +233,4 @@ public override float OpinionOffset() return 0f; } } - } diff --git a/MyLittleRimPony/Source/MLRP_ResearchNotifications.cs b/MyLittleRimPony/Source/MLRP_ResearchNotifications.cs index 7a228eb6..f2748b93 100644 --- a/MyLittleRimPony/Source/MLRP_ResearchNotifications.cs +++ b/MyLittleRimPony/Source/MLRP_ResearchNotifications.cs @@ -16,111 +16,298 @@ static MLRP_HarmonyPatch() } // RESEARCH TRACKER - // Only sends letters if the corresponding DLC/mod is enabled. + // Should only send letters if the corresponding DLC/mod is enabled. [HarmonyPatch(typeof(ResearchManager), "FinishProject")] public static class MLRP_ResearchTracker { private static void Postfix(ResearchProjectDef proj) { + // VARIABLES + + LetterDef MLRP_NewRecipeUnlocked = LetterDefOf.PositiveEvent; + string LetterTitle = "MLRP_NewRecipeUnlockedTitle".Translate(); + + string DBRecipeUnlocked = ""; + string NMMRecipeUnlocked = ""; + string PBRecipeUnlocked = ""; + string FERecipeUnlocked = ""; + string TPRecipeUnlocked = ""; + string SERecipeUnlocked = ""; + // DAYBREAKER: CORE - if (proj == DefDatabase.GetNamed("Brewing") || proj == DefDatabase.GetNamed("Fabrication") || proj == DefDatabase.GetNamed("AdvancedFabrication") || proj == DefDatabase.GetNamed("DrugProduction") || proj == DefDatabase.GetNamed("PsychiteRefining") || proj == DefDatabase.GetNamed("WakeUpProduction") || proj == DefDatabase.GetNamed("PenoxycylineProduction") || proj == DefDatabase.GetNamed("GoJuiceProduction") || proj == DefDatabase.GetNamed("PsychoidBrewing")) + if (proj == DefDatabase.GetNamed("Brewing")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_CreateTwentyFiveWort").label + "\n" + DefDatabase.GetNamed("MLRP_DB_CreateTwoHundredFiftyBeer").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("Fabrication")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_CreateComponentIndustrial").label + "\n" + DefDatabase.GetNamed("MLRP_DB_CreateComponentIndustrialTen").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("AdvancedFabrication")) { - LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_CreateComponentSpacer").label + "\n" + DefDatabase.GetNamed("MLRP_DB_CreateComponentSpacerTen").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("DrugProduction")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_MakePoisonJokeJoint").label; + PBRecipeUnlocked = DefDatabase.GetNamed("MLRP_PoisonJokeJoint").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + string PBLetterText = "MLRP_PBLetterText".Translate(PBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, PBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("PsychiteRefining")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_MakeFlake").label + "\n" + DefDatabase.GetNamed("MLRP_DB_MakeYayo").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("WakeUpProduction")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_MakeWakeUp").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("PenoxycylineProduction")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_MakePenoxycyline").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("GoJuiceProduction")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_MakeGoJuice").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("PsychoidBrewing")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_MakePsychiteTea").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + } + + // DAYBREAKER: BIOTECH DLC + + if (ModsConfig.IsActive("Ludeon.RimWorld.Biotech") && proj == DefDatabase.GetNamed("WastepackAtomizer")) + { + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_ToxicWasteRemoval").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); } // DAYBREAKER: ANOMALY DLC if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("BioferriteShaping")) { - LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_ConvertSilverIntoBioferrite").label + "\n" + DefDatabase.GetNamed("MLRP_DB_ConvertBioferriteIntoSilver").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); } // DAYBREAKER: VANILLA RECYCLING EXPANDED MOD if (ModsConfig.IsActive("VanillaExpanded.Recycling") && proj == DefDatabase.GetNamed("VRecyclingE_ComplexRecycling")) { - LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_VAE_BulkCreateTrashbrick").label; + SERecipeUnlocked = DefDatabase.GetNamed("MLRP_SE_BuyTrashbricks").label + "\n" + DefDatabase.GetNamed("MLRP_SE_SellTrashbricks").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + string SELetterText = "MLRP_DBLetterText".Translate(SERecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, SELetterText, MLRP_NewRecipeUnlocked); } // DAYBREAKER: DUBS BAD HYGIENE MOD - if (ModsConfig.IsActive("Dubwise.DubsBadHygiene") && proj == DefDatabase.GetNamed("SepticTanks")) + if (ModsConfig.IsActive("Dubwise.DubsBadHygiene") && proj == DefDatabase.GetNamed("BiofuelRefining")) { - LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + DBRecipeUnlocked = DefDatabase.GetNamed("MLRP_DB_FecalSludge").label; + string DBLetterText = "MLRP_DBLetterText".Translate(DBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, DBLetterText, MLRP_NewRecipeUnlocked); } - // PLUSHIE BENCH: CORE + // PONY WORKBENCH: CORE + + if (proj == DefDatabase.GetNamed("MLRP_PlushieRecycling")) + { + PBRecipeUnlocked = DefDatabase.GetNamed("MLRP_RecyclePlushies").label; + string PBLetterText = "MLRP_PBLetterText".Translate(PBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, PBLetterText, MLRP_NewRecipeUnlocked); + } - if (proj == DefDatabase.GetNamed("MLRP_PlushieRecycling") || proj == DefDatabase.GetNamed("MLRP_CurePoisonJokeAddictionResearch") || proj == DefDatabase.GetNamed("DrugProduction")) + if (proj == DefDatabase.GetNamed("MLRP_CurePoisonJokeAddictionResearch")) { - LetterDef MLRP_NewPBRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextPB".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewPBRecipe); + PBRecipeUnlocked = DefDatabase.GetNamed("MLRP_MakeHerbalCureKit").label; + string PBLetterText = "MLRP_PBLetterText".Translate(PBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, PBLetterText, MLRP_NewRecipeUnlocked); } - // PLUSHIE BENCH: COMBAT EXTENDED MOD + // PONY WORKBENCH: COMBAT EXTENDED MOD if (ModsConfig.IsActive("CETeam.CombatExtended") && proj == DefDatabase.GetNamed("MLRP_CE_AmmoResearch")) { - LetterDef MLRP_NewPBRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextPB".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewPBRecipe); + PBRecipeUnlocked = DefDatabase.GetNamed("MakeAmmo_CadenceJavelin").label + "\n" + DefDatabase.GetNamed("MakeAmmo_HarmonyLaser").label + "\n" + DefDatabase.GetNamed("MakeAmmo_HarmonyLaser_Sabot").label + "\n" + DefDatabase.GetNamed("MakeAmmo_TennisBalls").label + "\n" + DefDatabase.GetNamed("MakeAmmo_WoodenBullets").label; + string PBLetterText = "MLRP_PBLetterText".Translate(PBRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, PBLetterText, MLRP_NewRecipeUnlocked); } // FABRIC EXCHANGE if (proj == DefDatabase.GetNamed("Devilstrand")) { - LetterDef MLRP_NewFERecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextFE".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewFERecipe); + FERecipeUnlocked = DefDatabase.GetNamed("MLRP_FE_DevilstrandCloth").label; + string FELetterText = "MLRP_FELetterText".Translate(FERecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, FELetterText, MLRP_NewRecipeUnlocked); } - - // STONE EXCHANGE: VANILLA RECYCLING EXPANDED MOD - if (ModsConfig.IsActive("VanillaExpanded.Recycling") && proj == DefDatabase.GetNamed("VRecyclingE_ComplexRecycling")) + // NIGHTMARE MOON: CORE + + if (proj == DefDatabase.GetNamed("ShipComputerCore")) { - LetterDef MLRP_NewSERecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextSE".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewSERecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_AIPersonaCore").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } - // NIGHTMARE MOON: CORE + if (proj == DefDatabase.GetNamed("MedicineProduction")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_GlitterworldMedicine").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("DrugProduction")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_Luciferium").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_Neutroamine").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("Mortars")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_AntigrainWarhead").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ReinforcedBarrel").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("Bionics")) + { + if (!ModsConfig.IsActive("Pony.PoniesOfTheRim.Core")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_BionicEye").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicArm").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicLeg").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicSpine").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicHeart").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicStomach").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicEar").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicTongue").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicJaw").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + else + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_BionicEye").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicArm").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicLeg").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicSpine").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicHeart").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicStomach").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicEar").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicTongue").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_BionicJaw").label + "\n" + DefDatabase.GetNamed("MLRP_POTR_NMM_BionicWing").label + "\n" + DefDatabase.GetNamed("MLRP_POTR_NMM_BionicHorn").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + } + + if (proj == DefDatabase.GetNamed("MLRP_MagicMirrorResearch")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_SunsetShimmer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("MLRP_ArchotechResearch")) + { + if (!ModsConfig.IsActive("Pony.PoniesOfTheRim.Core")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_ArchotechArm").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ArchotechEye").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ArchotechLeg").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + else + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_ArchotechArm").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ArchotechEye").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ArchotechLeg").label + "\n" + DefDatabase.GetNamed("MLRP_POTR_NMM_ArchotechWing").label + "\n" + DefDatabase.GetNamed("MLRP_POTR_NMM_ArchotechHorn").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + } - if (proj == DefDatabase.GetNamed("ShipComputerCore") || proj == DefDatabase.GetNamed("MedicineProduction") || proj == DefDatabase.GetNamed("DrugProduction") || proj == DefDatabase.GetNamed("Mortars") || proj == DefDatabase.GetNamed("Bionics") || proj == DefDatabase.GetNamed("MLRP_MagicMirrorResearch") || proj == DefDatabase.GetNamed("MLRP_ArchotechResearch")|| proj == DefDatabase.GetNamed("MLRP_GetSkilltrainersFromNMM")) + if (proj == DefDatabase.GetNamed("MLRP_GetSkilltrainersFromNMM")) { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_ShootingSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_MeleeSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ConstructionSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_MiningSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_CookingSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_PlantSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_AnimalSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_CraftingSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ArtisticSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_MedicineSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_SocialSkilltrainer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_IntellectualSkilltrainer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } // NIGHTMARE MOON: ROYALTY DLC - if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("HealingFactors") || proj == DefDatabase.GetNamed("NeuralComputation") || proj == DefDatabase.GetNamed("MolecularAnalysis") || proj == DefDatabase.GetNamed("SkinHardening") || proj == DefDatabase.GetNamed("FleshShaping") || proj == DefDatabase.GetNamed("ArtificialMetabolism") || proj == DefDatabase.GetNamed("CircadianInfluence") || proj == DefDatabase.GetNamed("MLRP_PsychicItemsResearch")) + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("HealingFactors")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_Coagulator").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_HealingEnhancer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("NeuralComputation")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_Neurocalculator").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_LearningAssistant").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("MolecularAnalysis")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_Immunoenhancer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("SkinHardening")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_ToughskinGland").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ArmorskinGland").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_StoneskinGland").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("FleshShaping")) { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_AestheticShaper").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_AestheticNose").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_LoveEnhancer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("ArtificialMetabolism")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_DetoxifierStomach").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_ReprocessorStomach").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_NuclearStomach").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("CircadianInfluence")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_CircadianAssistant").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_CircadianHalfCycler").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty") && proj == DefDatabase.GetNamed("MLRP_PsychicItemsResearch")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_PsychicSensitizer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_PsychicHarmonizer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_PsychicReader").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } if (proj == DefDatabase.GetNamed("HospitalBed")) @@ -131,71 +318,137 @@ private static void Postfix(ResearchProjectDef proj) } else { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_MechSerumHealer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } } // NIGHTMARE MOON: BIOTECH DLC - if (ModsConfig.IsActive("Ludeon.RimWorld.Biotech") && proj == DefDatabase.GetNamed("StandardMechtech") || proj == DefDatabase.GetNamed("HighMechtech") || proj == DefDatabase.GetNamed("UltraMechtech") || proj == DefDatabase.GetNamed("Deathrest") || proj == DefDatabase.GetNamed("ToxFiltration")) + if (ModsConfig.IsActive("Ludeon.RimWorld.Biotech") && proj == DefDatabase.GetNamed("StandardMechtech")) { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_ControlSublinkStandard").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_MechGestationProcessor").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_SignalChip").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Biotech") && proj == DefDatabase.GetNamed("HighMechtech")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_ControlSublinkHigh").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_RemoteRepairer").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_RemoteShielder").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_HighSubcore").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_PowerfocusChip").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Biotech") && proj == DefDatabase.GetNamed("UltraMechtech")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_RepairProbe").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_NanostructuringChip").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Biotech") && proj == DefDatabase.GetNamed("Deathrest")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_DeathrestCapacitySerum").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Biotech") && proj == DefDatabase.GetNamed("ToxFiltration")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_DetoxifierLung").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_DetoxifierKidney").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } // NIGHTMARE MOON: MEDPOD MOD if (ModsConfig.IsActive("sumghai.medpod") && proj == DefDatabase.GetNamed("AcceleratedCellularRegeneration")) { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_IsolinearProcessor").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } // NIGHTMARE MOON: REPLIMAT MOD if (ModsConfig.IsActive("sumghai.Replimat") && proj == DefDatabase.GetNamed("MolecularNutrientResequencing")) { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_IsolinearModule").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } - - // NIGHTMARE MOON: BANDWIDTH ENHANCER MOD - if (ModsConfig.IsActive("iexist.biotech.morebandwidth") && proj == DefDatabase.GetNamed("AdvancedBandwidthEnhancer")) + // NIGHTMARE MOON: BANDWIDTH ENHANCER MOD + + if (ModsConfig.IsActive("iexist.biotech.morebandwidth")) { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + if (proj == DefDatabase.GetNamed("UltraMechtech")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_BandwidthEnhancer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } + + if (proj == DefDatabase.GetNamed("AdvancedBandwidthEnhancer")) + { + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_HighMechBandwidthImprover").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); + } } // NIGHTMARE MOON: DUBS BAD HYGIENE MOD if (ModsConfig.IsActive("Dubwise.DubsBadHygiene") && proj == DefDatabase.GetNamed("HygieneBionics")) { - LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextNMM".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); + NMMRecipeUnlocked = DefDatabase.GetNamed("MLRP_NMM_BionicBladder").label + "\n" + DefDatabase.GetNamed("MLRP_NMM_HygieneEnhancer").label; + string NMMLetterText = "MLRP_NMMLetterText".Translate(NMMRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, NMMLetterText, MLRP_NewRecipeUnlocked); } // THINGPONE (REQUIRES ANOMALY DLC) - if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("DeadlifeDust") || proj == DefDatabase.GetNamed("SerumSynthesis") || proj == DefDatabase.GetNamed("MetalbloodSerum") || proj == DefDatabase.GetNamed("JuggernautSerum") || proj == DefDatabase.GetNamed("MindNumbSerum") || proj == DefDatabase.GetNamed("GhoulResurrection")) + if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("DeadlifeDust")) + { + TPRecipeUnlocked = DefDatabase.GetNamed("MLRP_Thingpone_Shell_Deadlife").label; + string TPLetterText = "MLRP_TPLetterText".Translate(TPRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, TPLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("SerumSynthesis")) + { + TPRecipeUnlocked = DefDatabase.GetNamed("MLRP_Thingpone_VoidsightSerum").label; + string TPLetterText = "MLRP_TPLetterText".Translate(TPRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, TPLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("MetalbloodSerum")) + { + TPRecipeUnlocked = DefDatabase.GetNamed("MLRP_Thingpone_MetalbloodSerum").label; + string TPLetterText = "MLRP_TPLetterText".Translate(TPRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, TPLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("JuggernautSerum")) + { + TPRecipeUnlocked = DefDatabase.GetNamed("MLRP_Thingpone_JuggernautSerum").label; + string TPLetterText = "MLRP_TPLetterText".Translate(TPRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, TPLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("MindNumbSerum")) + { + TPRecipeUnlocked = DefDatabase.GetNamed("MLRP_Thingpone_MindNumbSerum").label; + string TPLetterText = "MLRP_TPLetterText".Translate(TPRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, TPLetterText, MLRP_NewRecipeUnlocked); + } + + if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("GhoulResurrection")) { - LetterDef MLRP_NewTPRecipe = LetterDefOf.PositiveEvent; - string title = "MLRP_NewRecipeUnlockedTitle".Translate(); - string text = "MLRP_NewRecipeUnlockedTextTP".Translate(); - Find.LetterStack.ReceiveLetter(title, text, MLRP_NewTPRecipe); + TPRecipeUnlocked = DefDatabase.GetNamed("MLRP_Thingpone_GhoulResurrectionSerum").label; + string TPLetterText = "MLRP_TPLetterText".Translate(TPRecipeUnlocked); + Find.LetterStack.ReceiveLetter(LetterTitle, TPLetterText, MLRP_NewRecipeUnlocked); } // SCREWBALL: HIGHER POWER MOD diff --git a/MyLittleRimPony/Source/MyLittleRimPony.cs b/MyLittleRimPony/Source/MyLittleRimPony.cs index 905de6ab..dc6d65a8 100644 --- a/MyLittleRimPony/Source/MyLittleRimPony.cs +++ b/MyLittleRimPony/Source/MyLittleRimPony.cs @@ -6,14 +6,11 @@ // I am always happy to accept updates to this code, especially if you have a better way of doing something I've done. // Contact me via my Discord server and we'll talk! (Invite Code: BGKnpza) -using HarmonyLib; using RimWorld; -using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Verse; -using Verse.AI; namespace MyLittleRimPony { diff --git a/MyLittleRimPony/Source/POTR_Compatibility.cs b/MyLittleRimPony/Source/POTR_Compatibility.cs index e5cfd439..d40bfba3 100644 --- a/MyLittleRimPony/Source/POTR_Compatibility.cs +++ b/MyLittleRimPony/Source/POTR_Compatibility.cs @@ -1,11 +1,7 @@ using HarmonyLib; using RimWorld; -using System; using System.Collections.Generic; -using System.Linq; -using System.Reflection; using Verse; -using Verse.AI; namespace MLRP_PoniesOfTheRim { diff --git a/MyLittleRimPony/Source/Properties/AssemblyInfo.cs b/MyLittleRimPony/Source/Properties/AssemblyInfo.cs index 67d6b7c4..31f6d444 100644 --- a/MyLittleRimPony/Source/Properties/AssemblyInfo.cs +++ b/MyLittleRimPony/Source/Properties/AssemblyInfo.cs @@ -33,6 +33,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("6.33.82.0")] -[assembly: AssemblyFileVersion("6.33.82.0")] +[assembly: AssemblyVersion("6.39.93.0")] +[assembly: AssemblyFileVersion("6.39.93.0")] [assembly: NeutralResourcesLanguage("")] diff --git a/MyLittleRimPony/Source/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache b/MyLittleRimPony/Source/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache index e5ba63e2..da84eae2 100644 Binary files a/MyLittleRimPony/Source/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache and b/MyLittleRimPony/Source/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache differ diff --git a/MyLittleRimPony/Source/obj/Debug/MyLittleRimPony.dll b/MyLittleRimPony/Source/obj/Debug/MyLittleRimPony.dll index ce47925e..982a7968 100644 Binary files a/MyLittleRimPony/Source/obj/Debug/MyLittleRimPony.dll and b/MyLittleRimPony/Source/obj/Debug/MyLittleRimPony.dll differ diff --git a/MyLittleRimPony/Vanilla Achievements Expanded/Defs/Achievements/MLRP_Achievements.xml b/MyLittleRimPony/Vanilla Achievements Expanded/Defs/Achievements/MLRP_Achievements.xml index 019e8e06..480eafda 100644 --- a/MyLittleRimPony/Vanilla Achievements Expanded/Defs/Achievements/MLRP_Achievements.xml +++ b/MyLittleRimPony/Vanilla Achievements Expanded/Defs/Achievements/MLRP_Achievements.xml @@ -4,7 +4,7 @@ MLRP_Achievement_PlushieBench - Build a plushie bench + Build a pony workbench MLRP_BuildingAchievementTab diff --git a/MyLittleRimPony/Vanilla Achievements Expanded/Patches/Anomaly/MLRP_AnomalyAchievements.xml b/MyLittleRimPony/Vanilla Achievements Expanded/Patches/Anomaly/MLRP_AnomalyAchievements.xml index 7955828e..89056787 100644 --- a/MyLittleRimPony/Vanilla Achievements Expanded/Patches/Anomaly/MLRP_AnomalyAchievements.xml +++ b/MyLittleRimPony/Vanilla Achievements Expanded/Patches/Anomaly/MLRP_AnomalyAchievements.xml @@ -26,7 +26,7 @@ MLRP_Achievement_ThingPoneBioferrite - Build a Thingpone statue using bioferrite + Build a bioferrite Thingpone MLRP_DLCAchievementTab diff --git a/MyLittleRimPony/XML Extensions/Patches/MLRP_Settings.xml b/MyLittleRimPony/XML Extensions/Patches/MLRP_Settings.xml index 71401efd..46ebcd90 100644 --- a/MyLittleRimPony/XML Extensions/Patches/MLRP_Settings.xml +++ b/MyLittleRimPony/XML Extensions/Patches/MLRP_Settings.xml @@ -1007,52 +1007,7 @@ - - -
  • - geodesicdragon.rimpony - MLRP_NPCFactionRimWarBehaviour - Cautious - - - /Defs/RimWar.RimWarDef[defName="RimWar_MLRP_FactionBehavior"]/defDatas/li[@Name="RimWar_MLRP_NPCFaction"]/behavior - - {MLRP_NPCFactionRimWarBehaviour} - - - -
  • - - -
  • - geodesicdragon.rimpony - MLRP_DiamondDogFactionRimWarBehaviour - Aggressive - - - /Defs/RimWar.RimWarDef[defName="RimWar_MLRP_FactionBehavior"]/defDatas/li[@Name="RimWar_MLRP_DiamondDogFaction"]/behavior - - {MLRP_DiamondDogFactionRimWarBehaviour} - - - -
  • - - -
  • - geodesicdragon.rimpony - MLRP_BatponyFactionRimWarBehaviour - Expansionist - - - /Defs/RimWar.RimWarDef[defName="RimWar_MLRP_FactionBehavior"]/defDatas/li[@Name="RimWar_MLRP_BatponyFaction"]/behavior - - {MLRP_BatponyFactionRimWarBehaviour} - - - -
  • - +
  • geodesicdragon.rimpony @@ -1601,132 +1556,6 @@
  • -
  • - -
  • - Mod Settings: Rim War - Medium - Left -
  • - -
  • - 24 -
  • - -
  • - -
  • - NPC Faction Behaviour: - Small - Left -
  • - - -
  • - MLRP_NPCFactionRimWarBehaviour - Cautious - -
  • - Aggressive - -
  • -
  • - Cautious - -
  • -
  • - Expansionist - -
  • -
  • - Merchant - -
  • -
  • - Warmonger - -
  • - - -
    - - -
  • - -
  • - Diamond Dog Faction Behaviour: - Small - Left -
  • - - -
  • - MLRP_DiamondDogFactionRimWarBehaviour - Aggressive - -
  • - Aggressive - -
  • -
  • - Cautious - -
  • -
  • - Expansionist - -
  • -
  • - Merchant - -
  • -
  • - Warmonger - -
  • - - -
    - - -
  • - -
  • - Batpony Faction Behaviour: - Small - Left -
  • - - -
  • - MLRP_BatponyFactionRimWarBehaviour - Expansionist - -
  • - Aggressive - -
  • -
  • - Cautious - -
  • -
  • - Expansionist - -
  • -
  • - Merchant - -
  • -
  • - Warmonger - -
  • - - -
    - -
  • 8