diff --git a/MyLittleRimPony/About/About.xml b/MyLittleRimPony/About/About.xml index 2f94a9d1..781d0b50 100644 --- a/MyLittleRimPony/About/About.xml +++ b/MyLittleRimPony/About/About.xml @@ -3,7 +3,7 @@ GeodesicDragon geodesicdragon.rimpony https://discord.gg/BGKnpza - 5.17.45 + 5.26.57
  • 1.4
  • 1.5
  • diff --git a/MyLittleRimPony/About/Changelog.txt b/MyLittleRimPony/About/Changelog.txt index d48b7a84..cb7f0b27 100644 --- a/MyLittleRimPony/About/Changelog.txt +++ b/MyLittleRimPony/About/Changelog.txt @@ -1,3 +1,29 @@ +Version 5.26.57 (April 29th 2024) + +* Biotech: Added five new child-equippable plushies. + * Izzy Moonbow: +10 to mood and opinions of others boosted by 100%. + * Princess Cadence: +75% to pain shock threshold. + * Princess Celestia: -50% to mental break threshold. + * Princess Luna: +100% to rest rate multiplier. + * Spoiled Rich: +50% toxic resistance. +* Ponies of the Rim: Added four new recipes to the Nightmare Moon statue. + * Request bionic wing: 1300 silver. + * Request bionic horn: 1300 silver. + * Request archotech horn: 2800 silver, 500 gold and 5 bionic horns. + * Request archotech wing: 2800 silver, 500 gold and 5 bionic wings. +* Ponies of the Rim: Pawns with the brony trait now have a +20 opinion of pawns added by this mod. +* Ponies of the Rim: Pawns with the anti-brony trait now have a -120 opinion of pawns added by this mod. They hate MLP, so it stands to reason they would hate actual ponies as well. The opinion is -120 in order to negate the +20 'physically appealing' opinion boost. +* Core: The ability to request archotech items from Nightmare Moon no longer requires the Royalty DLC, though the research cost remains the same. +* Core: Reduced the silver cost of requesting archotech items to 2800 (was 5600). +* Core: Reduced the gold cost of requesting archotech items to 500 (was 1000). +* Core: Reduced the bionic cost of requesting archotech items to 5 (was 10). +* Core: Maud Pie now increases drilling speed by 25% on top of her usual bonuses. +* Biotech: Reduced bandwidth cost of Sweetie Bot mechanoids to 2 (was 3). +* Biotech: Sweetie Bot mechanoids can now be gestated using a standard subcore instead of a high subcore. +* Biotech: Sweetie Bot mechanoids now require 1 cycle for gestation (was 2). +* Harmony: Fixed not having certain DLCs or mods enabled triggering errors when completing research projects. +* Reinforced Mechanoid 2: Since this mod has been discontinued, all patches and recipes related to it have been removed. This may cause some one-time red errors on load for anyone still using it in version 1.4 of RimWorld. + Version 5.17.45 (April 22nd 2024) * Core 1.5: Good news, Harmony users, the research tracker is back! And this time, it won't eat up all your TPS! diff --git a/MyLittleRimPony/About/Manifest.xml b/MyLittleRimPony/About/Manifest.xml index e8c7756c..ff9127cb 100644 --- a/MyLittleRimPony/About/Manifest.xml +++ b/MyLittleRimPony/About/Manifest.xml @@ -1,6 +1,6 @@ My Little RimPony - 5.17.45 + 5.26.57 true https://raw.githubusercontent.com/GeodesicDragon/mylittlerimpony/main/MyLittleRimPony/About/Manifest.xml https://github.com/geodesicdragon/mylittlerimpony/releases/latest diff --git a/MyLittleRimPony/Biotech/Assemblies/MLRP_Biotech.dll b/MyLittleRimPony/Biotech/Assemblies/MLRP_Biotech.dll index 691a7ff7..4a921339 100644 Binary files a/MyLittleRimPony/Biotech/Assemblies/MLRP_Biotech.dll and b/MyLittleRimPony/Biotech/Assemblies/MLRP_Biotech.dll differ diff --git a/MyLittleRimPony/Biotech/Defs/Mechanoid/SweetieBot_Mechanoid.xml b/MyLittleRimPony/Biotech/Defs/Mechanoid/SweetieBot_Mechanoid.xml index 8bf0c42f..9ec1b2f7 100644 --- a/MyLittleRimPony/Biotech/Defs/Mechanoid/SweetieBot_Mechanoid.xml +++ b/MyLittleRimPony/Biotech/Defs/Mechanoid/SweetieBot_Mechanoid.xml @@ -15,7 +15,7 @@ The pinnacle of Equestrian technology, this mechanoid version of Sweetie Bot is just as effective at neutralising enemies as her turret counterpart. She can move very fast, but is vulnerable to blunt attacks and friendly fire.\n\nMany mechanitors use her for hit and run attacks, flanking the enemy from the sides and rear.\n\nShe can also be used as a mount when part of a caravan; rumours that she plots the demise of anyone who does so are completely unfounded. 8 - 3 + 2 0.1 0.8 2.00 @@ -38,7 +38,7 @@ Mechanoid Medium NamerBronyFemale - 1.0 + 1 Pawn_Melee_Punch_HitPawn Pawn_Melee_Punch_HitBuilding Pawn_Melee_Punch_Miss @@ -138,6 +138,9 @@ MLRP_GestateSweetieBot Gestate a Sweetie Bot mechanoid. + + MLRP_SweetieBotMech + MLRP_SweetieBotMechResearch
  • @@ -159,7 +162,7 @@
  • -
  • SubcoreHigh
  • +
  • SubcoreRegular
  • 1 @@ -173,12 +176,10 @@ 5
    + 1 1 - - MLRP_SweetieBotMech - \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_IzzyMoonbow_Child.xml b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_IzzyMoonbow_Child.xml new file mode 100644 index 00000000..a7f6a6e4 --- /dev/null +++ b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_IzzyMoonbow_Child.xml @@ -0,0 +1,50 @@ + + + Apparel + PonyPlush_IzzyMoonbow_Child + + Izzy Moonbow is a lively unicorn who is very keen to make new friends in new places.\n\nCarrying her makes you feel a bit happier, as well as more welcoming towards others.\n\n(When equipped, she will apply a hediff to the child that will improve their mood by 10, and boost their opinion of other pawns by 100%.) + + Things/PonyPlush/IzzyMoonbow + + +
  • + MLRP_IzzyPlush_Child + Head +
  • +
    +
    + + + MLRP_IzzyPlush_Child + + You feel a lot happier. + HediffWithComps + false + +
  • + 2 +
  • +
    + +
  • + + + + + MLRP_IzzyPlush_Child + ThoughtWorker_Hediff + MLRP_IzzyPlush_Child + true + +
  • + + Her smile is really pretty! + 10 +
  • + + +
  • MLRP_AntiBronyTrait
  • +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessCadence_Child.xml b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessCadence_Child.xml new file mode 100644 index 00000000..bdf3528b --- /dev/null +++ b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessCadence_Child.xml @@ -0,0 +1,14 @@ + + + Apparel + PonyPlush_PrincessCadence_Child + + 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. + + Things/PonyPlush/PrincessCadence + + + 0.75 + + + \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessCelestia_Child.xml b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessCelestia_Child.xml new file mode 100644 index 00000000..ad43f82a --- /dev/null +++ b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessCelestia_Child.xml @@ -0,0 +1,14 @@ + + + Apparel + PonyPlush_PrincessCelestia_Child + + As one of the rulers of Equestria, Celestia has been through a lot; recently, though, she has never been happier.\n\nCarrying her makes you feel more in control of your emotions. + + Things/PonyPlush/PrincessCelestia + + + -0.5 + + + \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessLuna_Child.xml b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessLuna_Child.xml new file mode 100644 index 00000000..73e69eee --- /dev/null +++ b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_PrincessLuna_Child.xml @@ -0,0 +1,14 @@ + + + Apparel + PonyPlush_PrincessLuna_Child + + As Princess of the night, Luna is responsible for keeping an eye on the dreams of slumbering ponies.\n\nCarrying her makes you feel as though she is watching over your dreams as well. + + Things/PonyPlush/PrincessLuna + + + 1 + + + \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_SpoiledRich_Child.xml b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_SpoiledRich_Child.xml new file mode 100644 index 00000000..dcbf466b --- /dev/null +++ b/MyLittleRimPony/Biotech/Defs/ThingDef_PonyPlush/PonyPlush_SpoiledRich_Child.xml @@ -0,0 +1,14 @@ + + + Apparel + PonyPlush_SpoiledRich_Child + + Ponyville is widely regarded as being home to some of the friendliest ponies in Equestria. Spoiled Rich is not one of them.\n\nCarrying her makes you feel more resistant to toxic environments. + + Things/PonyPlush/SpoiledRich + + + -0.5 + + + \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Patches/Lancers Are 2 Bandwidth Again/ReduceSweetieBotMechBandwidth.xml b/MyLittleRimPony/Biotech/Patches/Lancers Are 2 Bandwidth Again/ReduceSweetieBotMechBandwidth.xml index 3a575ea5..f158c774 100644 --- a/MyLittleRimPony/Biotech/Patches/Lancers Are 2 Bandwidth Again/ReduceSweetieBotMechBandwidth.xml +++ b/MyLittleRimPony/Biotech/Patches/Lancers Are 2 Bandwidth Again/ReduceSweetieBotMechBandwidth.xml @@ -1,15 +1,5 @@ - - -
  • Lancers Are 2 Bandwidth Again
  • -
    - - Defs/ThingDef[defName="MLRP_SweetieBotMech"]/statBases/BandwidthCost - - 2 - - -
    +
    \ No newline at end of file diff --git a/MyLittleRimPony/Biotech/Source/.vs/MLRP_Biotech/v16/.suo b/MyLittleRimPony/Biotech/Source/.vs/MLRP_Biotech/v16/.suo index 4213b9c5..f89c7422 100644 Binary files a/MyLittleRimPony/Biotech/Source/.vs/MLRP_Biotech/v16/.suo and b/MyLittleRimPony/Biotech/Source/.vs/MLRP_Biotech/v16/.suo differ diff --git a/MyLittleRimPony/Biotech/Source/Class1.cs b/MyLittleRimPony/Biotech/Source/Class1.cs index 6924200f..ee195f5b 100644 --- a/MyLittleRimPony/Biotech/Source/Class1.cs +++ b/MyLittleRimPony/Biotech/Source/Class1.cs @@ -6,22 +6,6 @@ namespace MLRP_Biotech { - [DefOf] - public static class MLRP_BiotechDefOf - { - public static XenotypeDef MLRP_Xeno_Alicorn; - public static XenotypeDef MLRP_Xeno_EarthPony; - public static XenotypeDef MLRP_Xeno_Unicorn; - public static XenotypeDef MLRP_Xeno_Pegasus; - public static XenotypeDef MLRP_Xeno_Changeling; - public static XenotypeDef MLRP_Xeno_DiamondDog; - - static MLRP_BiotechDefOf() - { - DefOfHelper.EnsureInitializedInCtor(typeof(MLRP_BiotechDefOf)); - } - } - // BRONIES LOVE MLP XENOTYPES public class ThoughtWorker_BronyLovesMLPXenotype : ThoughtWorker @@ -32,11 +16,11 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (!p.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait)) + if (!p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) { return false; } - if (p.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait) && p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Alicorn || p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_EarthPony || p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Unicorn || p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Pegasus || p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Changeling) + if (p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait")) && p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Alicorn") || p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_EarthPony") || p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Unicorn") || p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Pegasus") || p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Changeling")) { return false; } @@ -44,7 +28,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Alicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_EarthPony && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Unicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Pegasus && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Changeling) + if (otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Alicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_EarthPony") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Unicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Pegasus") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Changeling")) { return false; } @@ -61,7 +45,7 @@ public override float OpinionOffset() return 0f; } - if (otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Alicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_EarthPony || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Unicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Pegasus) + if (otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Alicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_EarthPony") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Unicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Pegasus")) { return 10f; } @@ -79,7 +63,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (!p.story.traits.HasTrait(MyDefOf.MLRP_AntiBronyTrait)) + if (!p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait"))) { return false; } @@ -87,7 +71,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Alicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_EarthPony && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Unicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Pegasus && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Changeling) + if (otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Alicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_EarthPony") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Unicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Pegasus") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Changeling")) { return false; } @@ -104,7 +88,7 @@ public override float OpinionOffset() return 0f; } - if (otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Alicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_EarthPony || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Unicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Pegasus || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Changeling) + if (otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Alicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_EarthPony") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Unicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Pegasus") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Changeling")) { return -20f; } @@ -122,7 +106,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Alicorn && p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_EarthPony && p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Unicorn && p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Pegasus) + if (p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Alicorn") && p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_EarthPony") && p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Unicorn") && p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Pegasus")) { return false; } @@ -130,7 +114,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Alicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_EarthPony && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Unicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Pegasus) + if (otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Alicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_EarthPony") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Unicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Pegasus")) { return false; } @@ -147,7 +131,7 @@ public override float OpinionOffset() return 0f; } - if (otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Alicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_EarthPony || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Unicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Pegasus) + if (otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Alicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_EarthPony") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Unicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Pegasus")) { return 5f; } @@ -161,7 +145,7 @@ public override float OpinionOffset() public class ThoughtWorker_AntiBronyIsPonyXenotype : ThoughtWorker { - protected override ThoughtState CurrentStateInternal(Pawn p) => (ThoughtState)(p.story.traits.HasTrait(MyDefOf.MLRP_AntiBronyTrait) && p.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait) && p.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Alicorn || p.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_EarthPony || p.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Unicorn || p.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Pegasus || p.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Changeling); + protected override ThoughtState CurrentStateInternal(Pawn p) => (ThoughtState)(p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait")) && p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait")) && p.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Alicorn") || p.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_EarthPony") || p.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Unicorn") || p.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Pegasus") || p.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Changeling")); } @@ -175,7 +159,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Changeling) + if (p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Changeling")) { return false; } @@ -183,7 +167,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Alicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_EarthPony && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Unicorn && otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Pegasus) + if (otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Alicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_EarthPony") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Unicorn") && otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Pegasus")) { return false; } @@ -200,7 +184,7 @@ public override float OpinionOffset() return 0f; } - if (otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Alicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_EarthPony || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Unicorn || otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Pegasus) + if (otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Alicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_EarthPony") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Unicorn") || otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Pegasus")) { return 5f; } @@ -218,7 +202,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Alicorn && p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_EarthPony && p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Unicorn && p.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Pegasus) + if (p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Alicorn") && p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_EarthPony") && p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Unicorn") && p.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Pegasus")) { return false; @@ -227,7 +211,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (otherPawn.genes.Xenotype != MLRP_BiotechDefOf.MLRP_Xeno_Changeling) + if (otherPawn.genes.Xenotype != DefDatabase.GetNamed("MLRP_Xeno_Changeling")) { return false; } @@ -244,7 +228,7 @@ public override float OpinionOffset() return 0f; } - if (otherPawn.genes.Xenotype == MLRP_BiotechDefOf.MLRP_Xeno_Changeling) + if (otherPawn.genes.Xenotype == DefDatabase.GetNamed("MLRP_Xeno_Changeling")) { return 5f; } diff --git a/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.AssemblyReference.cache b/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.AssemblyReference.cache index f5e894ae..fb43a1a8 100644 Binary files a/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.AssemblyReference.cache and b/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.AssemblyReference.cache differ diff --git a/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.CoreCompileInputs.cache b/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.CoreCompileInputs.cache index 026aa0a5..3a46c3da 100644 --- a/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.CoreCompileInputs.cache +++ b/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -e9cf67f100a7e232a65e262faa4bb1d420ba2c49 +0272cfc6f21eb474b79a74dfa51304c1a82ca123 diff --git a/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.dll b/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.dll index 691a7ff7..4a921339 100644 Binary files a/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.dll and b/MyLittleRimPony/Biotech/Source/obj/Debug/MLRP_Biotech.dll differ diff --git a/MyLittleRimPony/Core 1.5/Assemblies/MyLittleRimPony.dll b/MyLittleRimPony/Core 1.5/Assemblies/MyLittleRimPony.dll index a7a9ad97..ed722fb3 100644 Binary files a/MyLittleRimPony/Core 1.5/Assemblies/MyLittleRimPony.dll and b/MyLittleRimPony/Core 1.5/Assemblies/MyLittleRimPony.dll differ diff --git a/MyLittleRimPony/Core 1.5/Defs/RecipeDefs/NightmareMoonOfferings_Archotech.xml b/MyLittleRimPony/Core 1.5/Defs/RecipeDefs/NightmareMoonOfferings_Archotech.xml new file mode 100644 index 00000000..3a08ece0 --- /dev/null +++ b/MyLittleRimPony/Core 1.5/Defs/RecipeDefs/NightmareMoonOfferings_Archotech.xml @@ -0,0 +1,147 @@ + + + + + + MLRP_NMM_ArchotechArm + + Offer many expensive items in exchange for an archotech arm. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicArm
  • + + + 5 + +
    + + 1 + +
    + + + + + MLRP_NMM_ArchotechEye + + Offer many expensive items in exchange for an archotech eye. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicEye
  • + + + 5 + +
    + + 1 + +
    + + + + + MLRP_NMM_ArchotechLeg + + Offer many expensive items in exchange for an archotech leg. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicLeg
  • + + + 5 + +
    + + 1 + +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Core 1.5/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml b/MyLittleRimPony/Core 1.5/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml index bcf1878c..4976a474 100644 --- a/MyLittleRimPony/Core 1.5/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml +++ b/MyLittleRimPony/Core 1.5/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml @@ -108,5 +108,17 @@ Magical power efficiency These buildings now generate more power:\n\n- Screwball: +50%\n- Magic mirror: +25%\n\nThese buildings now use less power:\n\n- Plushie bench: -50%\n- Fabric Exchange: -50%\n- Stone Exchange: -50%\n- Sweetie Bot turret: -25%\n- Nurse Redheart: -25%\n- Super Speedy Cider Squeezy 6000: -25%\n- Thingpone: -25% + + + + + 50000 + MLRP_ArchotechResearch + + Nightmare Moon will allow you to request archotech items from her. + MLRP_ResearchTab + 8 + 0 + \ No newline at end of file diff --git a/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_Cheerilee.xml b/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_Cheerilee.xml index 49234268..3ea62fdc 100644 --- a/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_Cheerilee.xml +++ b/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_Cheerilee.xml @@ -8,7 +8,7 @@ Things/PonyPlush/Cheerilee - 0.50 + 0.5 \ No newline at end of file diff --git a/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_IzzyMoonbow.xml b/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_IzzyMoonbow.xml index 6f75d560..c85f1049 100644 --- a/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_IzzyMoonbow.xml +++ b/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_IzzyMoonbow.xml @@ -3,7 +3,7 @@ Apparel PonyPlush_IzzyMoonbow - Izzy Moonbow is a lively unicorn who is very keen to make new friends in new places.\n\nCarrying her makes you feel a bit happier, as well as more welcoming towards others.\n\n(When equipped, she will apply a hediff to the pawn that will improve their mood by 10, and boost their opinion of other pawns by 50%.) + Izzy Moonbow is a lively unicorn who is very keen to make new friends in new places.\n\nCarrying her makes you feel a bit happier, as well as more welcoming towards others.\n\n(When equipped, she will apply a hediff to the pawn that will improve their mood by 5, and boost their opinion of other pawns by 50%.) Things/PonyPlush/IzzyMoonbow diff --git a/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml b/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml index 9ccda7fa..4f1fe724 100644 --- a/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml +++ b/MyLittleRimPony/Core 1.5/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml @@ -10,6 +10,7 @@ 0.25 0.25 + 0.25 \ No newline at end of file diff --git a/MyLittleRimPony/Core 1.5/Defs/ThoughtDefs/Thoughts_PonyPawns.xml b/MyLittleRimPony/Core 1.5/Defs/ThoughtDefs/Thoughts_PonyPawns.xml new file mode 100644 index 00000000..94c4ea7c --- /dev/null +++ b/MyLittleRimPony/Core 1.5/Defs/ThoughtDefs/Thoughts_PonyPawns.xml @@ -0,0 +1,33 @@ + + + + MLRP_BronyLovesPony + MyLittleRimPony.Thought_BronyLovesPony + MyLittleRimPony.ThoughtWorker_BronyLovesPony + true + +
  • + +
  • +
    + +
  • MLRP_BronyTrait
  • +
    +
    + + + MLRP_AntiBronyHatesPony + MyLittleRimPony.Thought_AntiBronyHatesPony + MyLittleRimPony.ThoughtWorker_AntiBronyHatesPony + true + +
  • + +
  • +
    + +
  • MLRP_AntiBronyTrait
  • +
    +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Core 1.5/Patches/Ponies of the Rim/POTR_NMM_Recipes.xml b/MyLittleRimPony/Core 1.5/Patches/Ponies of the Rim/POTR_NMM_Recipes.xml new file mode 100644 index 00000000..76987c03 --- /dev/null +++ b/MyLittleRimPony/Core 1.5/Patches/Ponies of the Rim/POTR_NMM_Recipes.xml @@ -0,0 +1,147 @@ + + + + +
  • Ponies of the Rim
  • +
    + + Defs + + + + + MLRP_POTR_NMM_BionicWing + + Offer silver in exchange for a bionic wing. + +
  • + + +
  • Silver
  • + + + 130 + +
    + + 1 + +
    + + + MLRP_POTR_NMM_ArchotechWing + + Offer silver in exchange for an archotech wing. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicWing
  • + + + 5 + +
    + + 1 + +
    + + + + + MLRP_POTR_NMM_BionicHorn + + Offer silver in exchange for a bionic horn. + +
  • + + +
  • Silver
  • + + + 130 + +
    + + 1 + +
    + + + MLRP_POTR_NMM_ArchotechHorn + + Offer silver in exchange for an archotech horn. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicHorn
  • + + + 5 + +
    + + 1 + +
    +
    +
    +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll b/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll index 6085d1fc..e3efb712 100644 Binary files a/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll and b/MyLittleRimPony/Core/Assemblies/MyLittleRimPony.dll differ diff --git a/MyLittleRimPony/Core/Defs/RecipeDefs/NightmareMoonOfferings_Archotech.xml b/MyLittleRimPony/Core/Defs/RecipeDefs/NightmareMoonOfferings_Archotech.xml new file mode 100644 index 00000000..3a08ece0 --- /dev/null +++ b/MyLittleRimPony/Core/Defs/RecipeDefs/NightmareMoonOfferings_Archotech.xml @@ -0,0 +1,147 @@ + + + + + + MLRP_NMM_ArchotechArm + + Offer many expensive items in exchange for an archotech arm. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicArm
  • + + + 5 + +
    + + 1 + +
    + + + + + MLRP_NMM_ArchotechEye + + Offer many expensive items in exchange for an archotech eye. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicEye
  • + + + 5 + +
    + + 1 + +
    + + + + + MLRP_NMM_ArchotechLeg + + Offer many expensive items in exchange for an archotech leg. + MLRP_ArchotechResearch + Making an offering to Nightmare Moon + GeneralLaborSpeed + Crafting + Cremate + Recipe_Cremate + false + 300 + +
  • MLRP_NightmareMoon
  • +
    + +
  • + + +
  • Silver
  • + + + 280 + +
  • + + +
  • Gold
  • + + + 50 + +
  • + + +
  • BionicLeg
  • + + + 5 + +
    + + 1 + +
    + +
    \ No newline at end of file diff --git a/MyLittleRimPony/Core/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml b/MyLittleRimPony/Core/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml index eff9fd6a..918bd322 100644 --- a/MyLittleRimPony/Core/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml +++ b/MyLittleRimPony/Core/Defs/ResearchProjectDefs/ResearchProjects_MLRP.xml @@ -108,5 +108,17 @@ Magical power efficiency These buildings now generate more power:\n\n- Screwball: +50%\n- Magic mirror: +25%\n\nThese buildings now use less power:\n\n- Plushie bench: -50%\n- Fabric Exchange: -50%\n- Stone Exchange: -50%\n- Sweetie Bot turret: -25%\n- Nurse Redheart: -25%\n- Super Speedy Cider Squeezy 6000: -25% + + + + + 50000 + MLRP_ArchotechResearch + + Nightmare Moon will allow you to request archotech items from her. + MLRP_ResearchTab + 8 + 0 + \ No newline at end of file diff --git a/MyLittleRimPony/Core/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml b/MyLittleRimPony/Core/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml index 9ccda7fa..4f1fe724 100644 --- a/MyLittleRimPony/Core/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml +++ b/MyLittleRimPony/Core/Defs/ThingDef_PonyPlush/PonyPlush_MaudPie.xml @@ -10,6 +10,7 @@ 0.25 0.25 + 0.25 \ No newline at end of file diff --git a/MyLittleRimPony/Harmony/Assemblies/MLRP_ResearchTracker.dll b/MyLittleRimPony/Harmony/Assemblies/MLRP_ResearchTracker.dll index 6ffb25d4..b21ca13c 100644 Binary files a/MyLittleRimPony/Harmony/Assemblies/MLRP_ResearchTracker.dll and b/MyLittleRimPony/Harmony/Assemblies/MLRP_ResearchTracker.dll differ diff --git a/MyLittleRimPony/Harmony/Source/.vs/MLRP_ResearchTracker/v16/.suo b/MyLittleRimPony/Harmony/Source/.vs/MLRP_ResearchTracker/v16/.suo index 01657829..89a7e1f4 100644 Binary files a/MyLittleRimPony/Harmony/Source/.vs/MLRP_ResearchTracker/v16/.suo and b/MyLittleRimPony/Harmony/Source/.vs/MLRP_ResearchTracker/v16/.suo differ diff --git a/MyLittleRimPony/Harmony/Source/Class1.cs b/MyLittleRimPony/Harmony/Source/Class1.cs index 2486715e..6222069c 100644 --- a/MyLittleRimPony/Harmony/Source/Class1.cs +++ b/MyLittleRimPony/Harmony/Source/Class1.cs @@ -16,14 +16,26 @@ static MLRP_HarmonyPatch() } // RESEARCH TRACKER + // Only sends letters if the corresponding DLC/mod is enabled. [HarmonyPatch(typeof(ResearchManager), "FinishProject")] public static class MLRP_ResearchTracker { private static void Postfix(ResearchProjectDef proj) { - // DAYBREAKER STATUE - if (proj == DefDatabase.GetNamed("Brewing") || proj == DefDatabase.GetNamed("Fabrication") || proj == DefDatabase.GetNamed("AdvancedFabrication") || proj == DefDatabase.GetNamed("BioferriteShaping")) + // DAYBREAKER: CORE + + if (proj == DefDatabase.GetNamed("Brewing") || proj == DefDatabase.GetNamed("Fabrication") || 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); + } + + // DAYBREAKER: ANOMALY DLC + + if (ModsConfig.IsActive("Ludeon.RimWorld.Anomaly") && proj == DefDatabase.GetNamed("BioferriteShaping")) { LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; string title = "MLRP_NewRecipeUnlockedTitle".Translate(); @@ -32,6 +44,7 @@ private static void Postfix(ResearchProjectDef proj) } // FABRIC EXCHANGE + if (proj == DefDatabase.GetNamed("Devilstrand")) { LetterDef MLRP_NewFERecipe = LetterDefOf.PositiveEvent; @@ -40,8 +53,9 @@ private static void Postfix(ResearchProjectDef proj) Find.LetterStack.ReceiveLetter(title, text, MLRP_NewFERecipe); } - // NIGHTMARE MOON - if (proj == DefDatabase.GetNamed("ShipComputerCore") || proj == DefDatabase.GetNamed("MedicineProduction") || proj == DefDatabase.GetNamed("DrugProduction") || proj == DefDatabase.GetNamed("Mortars") || proj == DefDatabase.GetNamed("Bionics") || 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("StandardMechtech") || proj == DefDatabase.GetNamed("HighMechtech") || proj == DefDatabase.GetNamed("UltraMechtech") || proj == DefDatabase.GetNamed("Deathrest") || proj == DefDatabase.GetNamed("ToxFiltration") || proj == DefDatabase.GetNamed("MLRP_MagicMirrorResearch") || proj == DefDatabase.GetNamed("MLRP_ArchotechResearch") || proj == DefDatabase.GetNamed("MolecularNutrientResequencing") || proj == DefDatabase.GetNamed("AcceleratedCellularRegeneration") || proj == DefDatabase.GetNamed("RM_WeatherController") || proj == DefDatabase.GetNamed("RM_ClimateAdjuster") || proj == DefDatabase.GetNamed("RM_SunBlocker") || proj == DefDatabase.GetNamed("AdvancedBandwidthEnhancer")) + // NIGHTMARE MOON: CORE + + 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("AdvancedBandwidthEnhancer")) { LetterDef MLRP_NewNMMRecipe = LetterDefOf.PositiveEvent; string title = "MLRP_NewRecipeUnlockedTitle".Translate(); @@ -49,6 +63,16 @@ private static void Postfix(ResearchProjectDef proj) Find.LetterStack.ReceiveLetter(title, text, MLRP_NewNMMRecipe); } + // 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")) + { + LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; + string title = "MLRP_NewRecipeUnlockedTitle".Translate(); + string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); + Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + } + if (proj == DefDatabase.GetNamed("HospitalBed")) { if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty")) @@ -64,8 +88,39 @@ private static void Postfix(ResearchProjectDef proj) } } + // 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")) + { + LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; + string title = "MLRP_NewRecipeUnlockedTitle".Translate(); + string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); + Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + } + + // NIGHTMARE MOON: MEDPOD MOD + + if (ModsConfig.IsActive("sumghai.medpod") && proj == DefDatabase.GetNamed("AcceleratedCellularRegeneration")) + { + LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; + string title = "MLRP_NewRecipeUnlockedTitle".Translate(); + string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); + Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + } + + // NIGHTMARE MOON: REPLIMAT MOD + + if (ModsConfig.IsActive("sumghai.Replimat") && proj == DefDatabase.GetNamed("MolecularNutrientResequencing")) + { + LetterDef MLRP_NewDBRecipe = LetterDefOf.PositiveEvent; + string title = "MLRP_NewRecipeUnlockedTitle".Translate(); + string text = "MLRP_NewRecipeUnlockedTextDB".Translate(); + Find.LetterStack.ReceiveLetter(title, text, MLRP_NewDBRecipe); + } + // THINGPONE (REQUIRES ANOMALY DLC) - if (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") || proj == DefDatabase.GetNamed("SerumSynthesis") || proj == DefDatabase.GetNamed("MetalbloodSerum") || proj == DefDatabase.GetNamed("JuggernautSerum") || proj == DefDatabase.GetNamed("MindNumbSerum") || proj == DefDatabase.GetNamed("GhoulResurrection")) { LetterDef MLRP_NewTPRecipe = LetterDefOf.PositiveEvent; string title = "MLRP_NewRecipeUnlockedTitle".Translate(); diff --git a/MyLittleRimPony/Harmony/Source/Properties/AssemblyInfo.cs b/MyLittleRimPony/Harmony/Source/Properties/AssemblyInfo.cs index 31a56172..5613c213 100644 --- a/MyLittleRimPony/Harmony/Source/Properties/AssemblyInfo.cs +++ b/MyLittleRimPony/Harmony/Source/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // 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("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("0.0.0.0")] +[assembly: AssemblyFileVersion("0.0.0.0")] diff --git a/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.csproj.AssemblyReference.cache b/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.csproj.AssemblyReference.cache index f5e894ae..4f4c9ce8 100644 Binary files a/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.csproj.AssemblyReference.cache and b/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.csproj.AssemblyReference.cache differ diff --git a/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.dll b/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.dll index 6ffb25d4..b21ca13c 100644 Binary files a/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.dll and b/MyLittleRimPony/Harmony/Source/obj/Release/MLRP_ResearchTracker.dll differ diff --git a/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsArchotech.xml b/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsArchotech.xml index 14663a02..7206d64d 100644 --- a/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsArchotech.xml +++ b/MyLittleRimPony/Royalty/Defs/RecipeDefs/NightmareMoonOfferingsArchotech.xml @@ -1,147 +1,3 @@ - - - - - MLRP_NMM_ArchotechArm - - Offer many expensive items in exchange for an archotech arm. - MLRP_ArchotechResearch - Making an offering to Nightmare Moon - GeneralLaborSpeed - Crafting - Cremate - Recipe_Cremate - false - 300 - -
  • MLRP_NightmareMoon
  • -
    - -
  • - - -
  • Silver
  • - - - 560 - -
  • - - -
  • Gold
  • - - - 100 - -
  • - - -
  • BionicArm
  • - - - 10 - -
    - - 1 - -
    - - - - - MLRP_NMM_ArchotechEye - - Offer many expensive items in exchange for an archotech eye. - MLRP_ArchotechResearch - Making an offering to Nightmare Moon - GeneralLaborSpeed - Crafting - Cremate - Recipe_Cremate - false - 300 - -
  • MLRP_NightmareMoon
  • -
    - -
  • - - -
  • Silver
  • - - - 560 - -
  • - - -
  • Gold
  • - - - 100 - -
  • - - -
  • BionicEye
  • - - - 10 - -
    - - 1 - -
    - - - - - MLRP_NMM_ArchotechLeg - - Offer many expensive items in exchange for an archotech leg. - MLRP_ArchotechResearch - Making an offering to Nightmare Moon - GeneralLaborSpeed - Crafting - Cremate - Recipe_Cremate - false - 300 - -
  • MLRP_NightmareMoon
  • -
    - -
  • - - -
  • Silver
  • - - - 560 - -
  • - - -
  • Gold
  • - - - 100 - -
  • - - -
  • BionicLeg
  • - - - 10 - -
    - - 1 - -
    - +
    \ No newline at end of file diff --git a/MyLittleRimPony/Royalty/Defs/ResearchProjectDefs/ResearchProjects_MLRPRoyalty.xml b/MyLittleRimPony/Royalty/Defs/ResearchProjectDefs/ResearchProjects_MLRPRoyalty.xml index 3bb4c559..92769331 100644 --- a/MyLittleRimPony/Royalty/Defs/ResearchProjectDefs/ResearchProjects_MLRPRoyalty.xml +++ b/MyLittleRimPony/Royalty/Defs/ResearchProjectDefs/ResearchProjects_MLRPRoyalty.xml @@ -49,16 +49,5 @@ 0 1
    - - - - - MLRP_ArchotechResearch - - Nightmare Moon will allow you to request archotech items from her. - MLRP_ResearchTab - 1 - 1 - \ No newline at end of file diff --git a/MyLittleRimPony/Royalty/Defs/ThingDef_Items/HarmonyChip.xml b/MyLittleRimPony/Royalty/Defs/ThingDef_Items/HarmonyChip.xml index 1a046ee4..314cec5e 100644 --- a/MyLittleRimPony/Royalty/Defs/ThingDef_Items/HarmonyChip.xml +++ b/MyLittleRimPony/Royalty/Defs/ThingDef_Items/HarmonyChip.xml @@ -1,4 +1,3 @@ - @@ -76,6 +75,7 @@ 0.25 0.25 0.25 + 0.25 0.5 -0.25 0.5 diff --git a/MyLittleRimPony/Royalty/Patches/Reinforced Mechanoid 2/NightmareMoonOfferings_Chips.xml b/MyLittleRimPony/Royalty/Patches/Reinforced Mechanoid 2/NightmareMoonOfferings_Chips.xml index 9fd08950..8475b325 100644 --- a/MyLittleRimPony/Royalty/Patches/Reinforced Mechanoid 2/NightmareMoonOfferings_Chips.xml +++ b/MyLittleRimPony/Royalty/Patches/Reinforced Mechanoid 2/NightmareMoonOfferings_Chips.xml @@ -1,109 +1,5 @@ - - -
  • Reinforced Mechanoid 2
  • -
    - - Defs - - - - - MLRP_NMM_RM_ChipWeather - - Offer silver in exchange for a weather control chip. - RM_WeatherController - Making an offering to Nightmare Moon - GeneralLaborSpeed - Crafting - Cremate - Recipe_Cremate - false - 300 - -
  • MLRP_NightmareMoon
  • -
    - -
  • - - -
  • Silver
  • - - - 65 - -
    - - 1 - -
    - - - - - MLRP_NMM_RM_ChipClimate - - Offer silver in exchange for a climate control chip. - RM_ClimateAdjuster - Making an offering to Nightmare Moon - GeneralLaborSpeed - Crafting - Cremate - Recipe_Cremate - false - 300 - -
  • MLRP_NightmareMoon
  • -
    - -
  • - - -
  • Silver
  • - - - 65 - -
    - - 1 - -
    - - - - - MLRP_NMM_RM_ChipBlocker - - Offer silver in exchange for a sun blocker chip. - RM_SunBlocker - Making an offering to Nightmare Moon - GeneralLaborSpeed - Crafting - Cremate - Recipe_Cremate - false - 300 - -
  • MLRP_NightmareMoon
  • -
    - -
  • - - -
  • Silver
  • - - - 65 - -
    - - 1 - -
    -
    -
    -
    +
    \ No newline at end of file diff --git a/MyLittleRimPony/Source 1.4/.vs/MLRP_Assemblies/v16/.suo b/MyLittleRimPony/Source 1.4/.vs/MLRP_Assemblies/v16/.suo index 30e61098..0d366e3d 100644 Binary files a/MyLittleRimPony/Source 1.4/.vs/MLRP_Assemblies/v16/.suo and b/MyLittleRimPony/Source 1.4/.vs/MLRP_Assemblies/v16/.suo differ diff --git a/MyLittleRimPony/Source 1.4/MLRP_ResearchNotifications.cs b/MyLittleRimPony/Source 1.4/MLRP_ResearchNotifications.cs index 77f3e90b..e63b37d7 100644 --- a/MyLittleRimPony/Source 1.4/MLRP_ResearchNotifications.cs +++ b/MyLittleRimPony/Source 1.4/MLRP_ResearchNotifications.cs @@ -1,140 +1,2 @@ -// Having this enabled eats up a LOT of your TPS. -// Feel free to add it and recompile the DLL, but don't say I didn't warn you. -// As always, if you have a better way of doing this, then please let me know! - -using System.Collections.Generic; -using RimWorld; -using Verse; - -public class MLRP_ResearchTracker : GameComponent -{ - private HashSet completedResearches = new HashSet(); - - // Research which unlocks recipes at the Fabric Exchange - private List researchesToTrackFE = new List - { - "Devilstrand" - }; - - // Research which unlocks recipes at the Statue of Daybreaker - - private List researchesToTrackDB = new List - { - "Brewing", - "Fabrication", - "AdvancedFabrication" - }; - - // Research which unlocks recipes at the Statue of Nightmare Moon - private List researchesToTrackNMM = new List - { - "ShipComputerCore", - "MedicineProduction", - "DrugProduction", - "Mortars", - "Bionics", - "HospitalBed", - "HealingFactors", - "NeuralComputation", - "MolecularAnalysis", - "SkinHardening", - "FleshShaping", - "ArtificialMetabolism", - "CircadianInfluence", - "StandardMechtech", // Biotech - "HighMechtech", // Biotech - "UltraMechtech", // Biotech - "Deathrest", // Biotech - "ToxFiltration", - "MLRP_MagicMirrorResearch", // My Little RimPony - "MLRP_ArchotechResearch", // My Little RimPony - "MolecularNutrientResequencing", // Replimat - "AcceleratedCellularRegeneration", // MedPod - "RM_WeatherController", // Reinforced Mechanoids 2 - "RM_ClimateAdjuster", // Reinforced Mechanoids 2 - "RM_SunBlocker", // Reinforced Mechanoids 2 - "AdvancedFabrication" // Vanilla Factions Expanded - Vikings - }; - - // Track research on Sweetie Bot mechanoids to send a brief letter about them when it's finished - private List otherResearchToTrack = new List - { - "MLRP_SweetieBotMechResearch" - }; - - public MLRP_ResearchTracker(Game game) { } - - public override void ExposeData() - { - base.ExposeData(); - Scribe_Collections.Look(ref completedResearches, "completedResearches", LookMode.Value); - } - - public override void GameComponentTick() // This is probably why it was eating so much TPS - { - base.GameComponentTick(); - - foreach (var researchFE in researchesToTrackFE) - { - if (!completedResearches.Contains(researchFE) && ResearchProjectDef.Named(researchFE).IsFinished) - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_FE".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchFE); - } - } - - foreach (var researchDB in researchesToTrackDB) - { - if (!completedResearches.Contains(researchDB) && ResearchProjectDef.Named(researchDB).IsFinished) - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_DB".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchDB); - } - } - - foreach (var researchNMM in researchesToTrackNMM) - { - if (!completedResearches.Contains(researchNMM) && ResearchProjectDef.Named(researchNMM).IsFinished) - { - if (ResearchProjectDef.Named("HospitalBed").IsFinished) - { - if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty")) - { - return; // Don't send a letter if the player researches hospital beds with Royalty enabled - } - else - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_NMM".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchNMM); - } - } - else if (ResearchProjectDef.Named("AdvancedFabrication").IsFinished) - { - if (!ModsConfig.IsActive("OskarPotocki.VFE.Vikings")) - { - return; // Don't send a NMM letter when the player researches advanced fabrication without having Vanilla Factions Expanded - Vikings enabled - } - else - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_NMM".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchNMM); - } - } - else - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_NMM".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchNMM); - } - } - } - - foreach (var researchSBM in otherResearchToTrack) - { - if (!completedResearches.Contains(researchSBM) && ResearchProjectDef.Named(researchSBM).IsFinished) - { - Find.LetterStack.ReceiveLetter("MLRP_AboutSweetieBotMechLetterHeader".Translate(), "MLRP_AboutSweetieBotMechLetterText".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchSBM); - } - } - } -} +// This feature has been implemented by a Harmony patch. +// As such, this file is now surplus to requirements. \ No newline at end of file diff --git a/MyLittleRimPony/Source 1.4/Properties/AssemblyInfo.cs b/MyLittleRimPony/Source 1.4/Properties/AssemblyInfo.cs index 218fd55d..58013ae7 100644 --- a/MyLittleRimPony/Source 1.4/Properties/AssemblyInfo.cs +++ b/MyLittleRimPony/Source 1.4/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("5.17.45.0")] -[assembly: AssemblyFileVersion("5.17.45.0")] +[assembly: AssemblyVersion("5.26.57.0")] +[assembly: AssemblyFileVersion("5.26.57.0")] [assembly: NeutralResourcesLanguage("")] diff --git a/MyLittleRimPony/Source 1.4/obj/Debug/MyLittleRimPony.dll b/MyLittleRimPony/Source 1.4/obj/Debug/MyLittleRimPony.dll index 6085d1fc..e3efb712 100644 Binary files a/MyLittleRimPony/Source 1.4/obj/Debug/MyLittleRimPony.dll and b/MyLittleRimPony/Source 1.4/obj/Debug/MyLittleRimPony.dll differ diff --git a/MyLittleRimPony/Source 1.5/.vs/MLRP_Assemblies/v16/.suo b/MyLittleRimPony/Source 1.5/.vs/MLRP_Assemblies/v16/.suo index d82d814d..cc4425b7 100644 Binary files a/MyLittleRimPony/Source 1.5/.vs/MLRP_Assemblies/v16/.suo and b/MyLittleRimPony/Source 1.5/.vs/MLRP_Assemblies/v16/.suo differ diff --git a/MyLittleRimPony/Source 1.5/MLRP_ResearchNotifications.cs b/MyLittleRimPony/Source 1.5/MLRP_ResearchNotifications.cs index 79001e41..e63b37d7 100644 --- a/MyLittleRimPony/Source 1.5/MLRP_ResearchNotifications.cs +++ b/MyLittleRimPony/Source 1.5/MLRP_ResearchNotifications.cs @@ -1,134 +1,2 @@ -// Having this enabled eats up a LOT of your TPS. -// Feel free to add it and recompile the DLL, but don't say I didn't warn you. -// As always, if you have a better way of doing this, then please let me know! - -using System.Collections.Generic; -using RimWorld; -using Verse; - -public class MLRP_ResearchTracker : GameComponent -{ - private HashSet completedResearches = new HashSet(); - - // Research which unlocks recipes at the Fabric Exchange - private List researchesToTrackFE = new List - { - "Devilstrand" - }; - - // Research which unlocks recipes at the Statue of Daybreaker - - private List researchesToTrackDB = new List - { - "Brewing", - "Fabrication", - "AdvancedFabrication" - }; - - // Research which unlocks recipes at the Statue of Nightmare Moon - private List researchesToTrackNMM = new List - { - "ShipComputerCore", - "MedicineProduction", - "DrugProduction", - "Mortars", - "Bionics", - "HospitalBed", - "HealingFactors", - "NeuralComputation", - "MolecularAnalysis", - "SkinHardening", - "FleshShaping", - "ArtificialMetabolism", - "CircadianInfluence", - "StandardMechtech", // Biotech - "HighMechtech", // Biotech - "UltraMechtech", // Biotech - "Deathrest", // Biotech - "ToxFiltration", - "MLRP_MagicMirrorResearch", // My Little RimPony - "MLRP_ArchotechResearch", // My Little RimPony - "MolecularNutrientResequencing", // Replimat - "AcceleratedCellularRegeneration", // MedPod - "RM_WeatherController", // Reinforced Mechanoids 2 - "RM_ClimateAdjuster", // Reinforced Mechanoids 2 - "RM_SunBlocker", // Reinforced Mechanoids 2 - "AdvancedFabrication" // Vanilla Factions Expanded - Vikings - }; - - public MLRP_ResearchTracker(Game game) { } - - public override void ExposeData() - { - base.ExposeData(); - Scribe_Collections.Look(ref completedResearches, "completedResearches", LookMode.Value); - } - - public override void GameComponentTick() // This is probably why it was eating so much TPS - { - base.GameComponentTick(); - - foreach (var researchFE in researchesToTrackFE) - { - if (!completedResearches.Contains(researchFE) && ResearchProjectDef.Named(researchFE).IsFinished) - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_FE".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchFE); - } - } - - foreach (var researchDB in researchesToTrackDB) - { - if (!completedResearches.Contains(researchDB) && ResearchProjectDef.Named(researchDB).IsFinished) - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_DB".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchDB); - } - } - - foreach (var researchNMM in researchesToTrackNMM) - { - if (!completedResearches.Contains(researchNMM) && ResearchProjectDef.Named(researchNMM).IsFinished) - { - if (ResearchProjectDef.Named("HospitalBed").IsFinished) - { - if (ModsConfig.IsActive("Ludeon.RimWorld.Royalty")) - { - return; // Don't send a letter if the player researches hospital beds with Royalty enabled - } - else - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_NMM".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchNMM); - } - } - else if (ResearchProjectDef.Named("AdvancedFabrication").IsFinished) - { - if (!ModsConfig.IsActive("OskarPotocki.VFE.Vikings")) - { - return; // Don't send a NMM letter when the player researches advanced fabrication without having Vanilla Factions Expanded - Vikings enabled - } - else - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_NMM".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchNMM); - } - } - else - { - Find.LetterStack.ReceiveLetter("MLRP_RecipeUnlockedLetterHeader".Translate(), "MLRP_RecipeUnlockedLetterText_NMM".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchNMM); - } - } - } - - foreach (var researchSBM in otherResearchToTrack) - { - if (!completedResearches.Contains(researchSBM) && ResearchProjectDef.Named(researchSBM).IsFinished) - { - Find.LetterStack.ReceiveLetter("MLRP_AboutSweetieBotMechLetterHeader".Translate(), "MLRP_AboutSweetieBotMechLetterText".Translate(), LetterDefOf.PositiveEvent); - completedResearches.Add(researchSBM); - } - } - } -} +// This feature has been implemented by a Harmony patch. +// As such, this file is now surplus to requirements. \ No newline at end of file diff --git a/MyLittleRimPony/Source 1.5/MyLittleRimPony.cs b/MyLittleRimPony/Source 1.5/MyLittleRimPony.cs index 8c268494..2421b698 100644 --- a/MyLittleRimPony/Source 1.5/MyLittleRimPony.cs +++ b/MyLittleRimPony/Source 1.5/MyLittleRimPony.cs @@ -19,61 +19,12 @@ namespace MyLittleRimPony [DefOf] public static class MyDefOf { - public static HediffDef MLRP_PoisonJokeIncreasedConsciousness; - public static HediffDef MLRP_PoisonJokeReducedConsciousness; - public static HediffDef MLRP_PoisonJokeSuperSpeedy; - public static HediffDef MLRP_PoisonJokeSlowAndSluggish; - public static HediffDef MLRP_PoisonJokeGoodManipulation; - public static HediffDef MLRP_PoisonJokePoorManipulation; - public static HediffDef MLRP_PoisonJokeIncreasedTalking; - public static HediffDef MLRP_PoisonJokeReducedTalking; - public static HediffDef MLRP_PoisonJokeIncreasedEating; - public static HediffDef MLRP_PoisonJokeReducedEating; - public static HediffDef MLRP_PoisonJokeSightBeyondSight; - public static HediffDef MLRP_PoisonJokeBlindness; - public static HediffDef MLRP_PoisonJokeIncreasedHearing; - public static HediffDef MLRP_PoisonJokeReducedHearing; - public static HediffDef MLRP_PoisonJokeIncreasedBreathing; - public static HediffDef MLRP_PoisonJokeReducedBreathing; - public static HediffDef MLRP_CutiePox; - public static RoomRoleDef MLRP_PortalRoom; - public static ThingDef MLRP_MagicMirrorGenerator; - public static ThingDef MLRP_ScrewballGenerator; - public static ThoughtDef MLRP_PonyPlushEquippedAntiBrony; - public static ThoughtDef MLRP_PartyCannonBoostRegularPawn; - public static ThoughtDef MLRP_PartyCannonBoostBrony; - public static ThoughtDef MLRP_PartyCannonBoostAntiBrony; - public static ThoughtDef MLRP_PartyCannonBoostPrisoner; - public static TraitDef MLRP_BronyTrait; - public static TraitDef MLRP_AntiBronyTrait; - [MayRequireRoyalty] - public static ThoughtDef MLRP_HarmonyChipInstalledAntiBrony; - [MayRequireIdeology] - public static ThoughtDef MLRP_PartyCannonBoostSlave; - static MyDefOf() { DefOfHelper.EnsureInitializedInCtor(typeof(MyDefOf)); var MLRP_Version = Assembly.GetExecutingAssembly().GetName().Version.ToString(3); Log.Message("MLRP_WelcomeMessage".Translate(MLRP_Version)); - - if (ModsConfig.IsActive("CETeam.CombatExtended")) - { - Log.Message("MLRP_CEDetected".Translate()); - } - if (ModsConfig.IsActive("imranfish.xmlextensions")) - { - Log.Message("MLRP_XMLExtensionsDetected".Translate()); - } - if (ModsConfig.IsActive("geodesicdragon.rimpony.medieval")) - { - Log.Message("MLRP_MOPatchesDetected".Translate()); - } - if (ModsConfig.IsActive("brrainz.harmony")) - { - Log.Message("MLRP_HarmonyDetected".Translate()); - } } } @@ -81,7 +32,7 @@ static MyDefOf() public class Alert_AntiBronyHasPlushie : Alert_Thought { - protected override ThoughtDef Thought => MyDefOf.MLRP_PonyPlushEquippedAntiBrony; + protected override ThoughtDef Thought => DefDatabase.GetNamed("MLRP_PonyPlushEquippedAntiBrony"); public Alert_AntiBronyHasPlushie() { @@ -94,7 +45,7 @@ public Alert_AntiBronyHasPlushie() public class Alert_AntiBronyHasHarmonyChip : Alert_Thought { - protected override ThoughtDef Thought => MyDefOf.MLRP_HarmonyChipInstalledAntiBrony; + protected override ThoughtDef Thought => DefDatabase.GetNamed("MLRP_HarmonyChipInstalledAntiBrony"); public Alert_AntiBronyHasHarmonyChip() { @@ -113,7 +64,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (!p.story.traits.HasTrait(MyDefOf.MLRP_AntiBronyTrait)) + if (!p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait"))) { return false; } @@ -121,7 +72,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (!otherPawn.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait)) + if (!otherPawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) { return false; } @@ -138,7 +89,7 @@ public override float OpinionOffset() return 0f; } - if (otherPawn.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait)) + if (otherPawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) { return -10f; } @@ -156,7 +107,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (!p.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait)) + if (!p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) { return false; } @@ -164,7 +115,7 @@ protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPaw { return false; } - if (!otherPawn.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait)) + if (!otherPawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) { return false; } @@ -180,7 +131,7 @@ public override float OpinionOffset() return 0f; } - if (otherPawn.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait)) + if (otherPawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) { return 10f; } @@ -188,6 +139,100 @@ public override float OpinionOffset() } } + // BRONIES LOVE ACTUAL PONIES + + public class ThoughtWorker_BronyLovesPony : ThoughtWorker + { + protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPawn) + { + if (ModsConfig.IsActive("Pony.PoniesOfTheRim.Core")) + { + if (!p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) + { + return false; + } + if (otherPawn.def.race.body != DefDatabase.GetNamed("Pegasus") && otherPawn.def.race.body != DefDatabase.GetNamed("Pony") && otherPawn.def.race.body != DefDatabase.GetNamed("Unicorn")) + { + return false; + } + } + return true; + } + } + + public class Thought_BronyLovesPony : Thought_SituationalSocial + { + public override float OpinionOffset() + { + if (!ModsConfig.IsActive("Pony.PoniesOfTheRim.Core")) + { + + } + else + { + if (ThoughtUtility.ThoughtNullified(pawn, def)) + { + return 0f; + } + if (pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait"))) + { + if (otherPawn.def.race.body == DefDatabase.GetNamed("Pegasus") || otherPawn.def.race.body == DefDatabase.GetNamed("Pony") || otherPawn.def.race.body == DefDatabase.GetNamed("Unicorn")) + { + return 20f; + } + } + } + return 0f; + } + } + + // ANTI BRONIES HATE ACTUAL PONIES + + public class ThoughtWorker_AntiBronyHatesPony : ThoughtWorker + { + protected override ThoughtState CurrentSocialStateInternal(Pawn p, Pawn otherPawn) + { + if (ModsConfig.IsActive("Pony.PoniesOfTheRim.Core")) + { + if (!p.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait"))) + { + return false; + } + if (otherPawn.def.race.body != DefDatabase.GetNamed("Pegasus") && otherPawn.def.race.body != DefDatabase.GetNamed("Pony") && otherPawn.def.race.body != DefDatabase.GetNamed("Unicorn")) + { + return false; + } + } + return true; + } + } + + public class Thought_AntiBronyHatesPony : Thought_SituationalSocial + { + public override float OpinionOffset() + { + if (!ModsConfig.IsActive("Pony.PoniesOfTheRim.Core")) + { + + } + else + { + if (ThoughtUtility.ThoughtNullified(pawn, def)) + { + return 0f; + } + if (pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait"))) + { + if (otherPawn.def.race.body == DefDatabase.GetNamed("Pegasus") || otherPawn.def.race.body == DefDatabase.GetNamed("Pony") || otherPawn.def.race.body == DefDatabase.GetNamed("Unicorn")) + { + return -120f; // Needs to be this high in order to negate the +20 bonus from the fact that ponies are seen by all as physically appealing. + } + } + } + return 0f; + } + } + // CURE POISON JOKE ADDICTION public class PoisonJokeAddictionCure : IngestionOutcomeDoer @@ -261,71 +306,71 @@ protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested, int switch (n) { case 1: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeIncreasedConsciousness); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeIncreasedConsciousness")); affliction = "MLRP_PoisonJokeGoodConsciousness".Translate(pawn); break; case 2: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeReducedConsciousness); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeReducedConsciousness")); affliction = "MLRP_PoisonJokeBadConsciousness".Translate(pawn); break; case 3: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeSuperSpeedy); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeSuperSpeedy")); affliction = "MLRP_PoisonJokeGoodSpeed".Translate(pawn); break; case 4: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeSlowAndSluggish); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeSlowAndSluggish")); affliction = "MLRP_PoisonJokeBadSpeed".Translate(pawn); break; case 5: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeGoodManipulation); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeGoodManipulation")); affliction = "MLRP_PoisonJokeGoodManipulation".Translate(pawn); break; case 6: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokePoorManipulation); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokePoorManipulation")); affliction = "MLRP_PoisonJokeBadManipulation".Translate(pawn); break; case 7: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeIncreasedTalking); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeIncreasedTalking")); affliction = "MLRP_PoisonJokeGoodTalking".Translate(pawn); break; case 8: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeReducedTalking); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeReducedTalking")); affliction = "MLRP_PoisonJokeBadTalking".Translate(pawn); break; case 9: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeIncreasedEating); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeIncreasedEating")); affliction = "MLRP_PoisonJokeGoodEating".Translate(pawn); break; case 10: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeReducedEating); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeReducedEating")); affliction = "MLRP_PoisonJokeBadEating".Translate(pawn); break; case 11: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeSightBeyondSight); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeSightBeyondSight")); affliction = "MLRP_PoisonJokeGoodSight".Translate(pawn); break; case 12: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeBlindness); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeBlindness")); affliction = "MLRP_PoisonJokeBadSight".Translate(pawn); break; case 13: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeIncreasedHearing); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeIncreasedHearing")); affliction = "MLRP_PoisonJokeGoodHearing".Translate(pawn); break; case 14: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeReducedHearing); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeReducedHearing")); affliction = "MLRP_PoisonJokeBadHearing".Translate(pawn); break; case 15: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeIncreasedBreathing); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeIncreasedBreathing")); affliction = "MLRP_PoisonJokeGoodBreathing".Translate(pawn); break; case 16: - pawn.health.AddHediff(MyDefOf.MLRP_PoisonJokeReducedBreathing); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_PoisonJokeReducedBreathing")); affliction = "MLRP_PoisonJokeBadBreathing".Translate(pawn); break; case 17: - pawn.health.AddHediff(MyDefOf.MLRP_CutiePox); + pawn.health.AddHediff(DefDatabase.GetNamed("MLRP_CutiePox")); affliction = "MLRP_PoisonJokeCutiePox".Translate(pawn); break; } @@ -356,7 +401,7 @@ public override float GetScore(Room room) List andAdjacentThings = room.ContainedAndAdjacentThings; for (int index = 0; index < andAdjacentThings.Count; ++index) { - if (andAdjacentThings[index].def == MyDefOf.MLRP_MagicMirrorGenerator) + if (andAdjacentThings[index].def == DefDatabase.GetNamed("MLRP_MagicMirrorGenerator")) ++num; } return 10f * (float)num; @@ -374,26 +419,26 @@ public override void DoEffectOn(Pawn user, Thing target) return; if (pawn.IsColonist) // Pawn is a colonist { - if (!pawn.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait) && !pawn.story.traits.HasTrait(MyDefOf.MLRP_AntiBronyTrait)) // Colonist has neither the brony or anti brony trait + if (!pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait")) && !pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait"))) // Colonist has neither the brony or anti brony trait { - pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(MyDefOf.MLRP_PartyCannonBoostRegularPawn)); + pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(DefDatabase.GetNamed("MLRP_PartyCannonBoostRegularPawn"))); } - if (pawn.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait) && !pawn.story.traits.HasTrait(MyDefOf.MLRP_AntiBronyTrait)) // Colonist has the brony trait + if (pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait")) && !pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait"))) // Colonist has the brony trait { - pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(MyDefOf.MLRP_PartyCannonBoostBrony)); + pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(DefDatabase.GetNamed("MLRP_PartyCannonBoostBrony"))); } - if (!pawn.story.traits.HasTrait(MyDefOf.MLRP_BronyTrait) && pawn.story.traits.HasTrait(MyDefOf.MLRP_AntiBronyTrait)) // Colonist has the anti brony trait + if (!pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_BronyTrait")) && pawn.story.traits.HasTrait(DefDatabase.GetNamed("MLRP_AntiBronyTrait"))) // Colonist has the anti brony trait { - pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(MyDefOf.MLRP_PartyCannonBoostAntiBrony)); + pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(DefDatabase.GetNamed("MLRP_PartyCannonBoostAntiBrony"))); } } if (pawn.IsPrisoner) // Pawn is a prisoner { - pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(MyDefOf.MLRP_PartyCannonBoostPrisoner)); + pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(DefDatabase.GetNamed("MLRP_PartyCannonBoostPrisoner"))); } if (ModsConfig.IsActive("Ludeon.RimWorld.Ideology") && pawn.IsSlave) // Pawn is a slave (requires Ideology DLC) { - pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(MyDefOf.MLRP_PartyCannonBoostSlave)); + pawn.needs.mood.thoughts.memories.TryGainMemory((Thought_Memory)ThoughtMaker.MakeThought(DefDatabase.GetNamed("MLRP_PartyCannonBoostSlave"))); } } } @@ -408,7 +453,7 @@ public override float GetScore(Room room) List andAdjacentThings = room.ContainedAndAdjacentThings; for (int index = 0; index < andAdjacentThings.Count; ++index) { - if (andAdjacentThings[index].def == MyDefOf.MLRP_ScrewballGenerator) + if (andAdjacentThings[index].def == DefDatabase.GetNamed("MLRP_ScrewballGenerator")) ++num; } return 10f * (float)num; diff --git a/MyLittleRimPony/Source 1.5/Properties/AssemblyInfo.cs b/MyLittleRimPony/Source 1.5/Properties/AssemblyInfo.cs index 218fd55d..58013ae7 100644 --- a/MyLittleRimPony/Source 1.5/Properties/AssemblyInfo.cs +++ b/MyLittleRimPony/Source 1.5/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("5.17.45.0")] -[assembly: AssemblyFileVersion("5.17.45.0")] +[assembly: AssemblyVersion("5.26.57.0")] +[assembly: AssemblyFileVersion("5.26.57.0")] [assembly: NeutralResourcesLanguage("")] diff --git a/MyLittleRimPony/Source 1.5/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache b/MyLittleRimPony/Source 1.5/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache index 75e64fae..c5ff6d98 100644 Binary files a/MyLittleRimPony/Source 1.5/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache and b/MyLittleRimPony/Source 1.5/obj/Debug/MLRP_Assemblies.csproj.AssemblyReference.cache differ diff --git a/MyLittleRimPony/Source 1.5/obj/Debug/MyLittleRimPony.dll b/MyLittleRimPony/Source 1.5/obj/Debug/MyLittleRimPony.dll index a7a9ad97..ed722fb3 100644 Binary files a/MyLittleRimPony/Source 1.5/obj/Debug/MyLittleRimPony.dll and b/MyLittleRimPony/Source 1.5/obj/Debug/MyLittleRimPony.dll differ