Brought Licentia bag - and updated changelogs

This commit is contained in:
Vegapnk 2024-06-04 18:11:13 +02:00
parent 806d2bb487
commit 1311b6da61
4 changed files with 34 additions and 7 deletions

View file

@ -2,6 +2,9 @@
**Additions**:
- New Ability Gene *Mating-Call*: Get bred by all nearby animals.
- New Ability Gene *Pheromone Spit*: Mark a target to be bred by nearby animals
- New Passive Gene *Sexual Tamer*: Chance to tame or train animals on bestiality.
- Human + Animal Pregnancy can (if enabled in settings) produce Vanilla Expanded Genetics Hybrids. Thanks to @Jaaldabaoth (#88)
- Xenogenes for "Big and Small" Xenotypes thanks to @Flock-of-birds (#83)
- Xenogenes for "Biotech Expansion Mammalia" and "Biotech Expansion - Mythic" thanks to @Ohreallyow (#86)
@ -13,6 +16,7 @@
**Fixes**:
- Licentia Genes are back in and should work again. I used the [updated for by Jaaldabaoth](https://gitgud.io/Jaaldabaoth/licentia-labs) for my testing.
- Lower-casing most labels to fit rimworld standards, thanks to @Flock-of-birds (#83)
- X-Gender-Only Genes leave / re-add artificial genitalia. Thanks to @Jaaldabaoth (#84 / #88)
@ -21,8 +25,7 @@
- Minified some Race-Patches, thanks to @Flock-of-birds (#83)
- XML-Genitalia-Genes can now also provide Breasts. Thanks to @Jaaldabaoth (#84 / #88)
- "Wasters" can have Orgasmic Mytosis, but need a special "polluted" version. Thanks to @Jaaldabaoth (#84 / #88)
- Many patches and files went into a `Mods`Folder and use an `LoadFolders.xml`. Thanks to @Jaaldabaoth (#84 / #88)
# 2.0.0

Binary file not shown.

View file

@ -9,6 +9,7 @@ using HarmonyLib;
using rjw;
using RimWorld;
using Verse;
using LicentiaLabs;
namespace RJW_Genes
@ -28,18 +29,16 @@ namespace RJW_Genes
// Design decision:
// I could have done some transpiler stuff, but that is scary and might need to be adjusted quite a lot
// Hence, I simply re-book the nutrition back to the giver in the Postfix. That should be robust and easy.
/*
TODO: Move this back in, once Licentia is 1.5 compatible. It should not drastically change.
if (GeneUtility.IsGenerousDonor(giver))
{
float donatedNutrition = CumflationHelper.CalculateNutritionAmount(giver, cumAmount);
// TODO: In theory, there could be something weird happening if the donor has food less than X and the "IgnoreThermodynamics" is set on.
// Then it can happen that the donor ends up with more food than he had before cumshot, but I think that is somewhat funny given that you have ignore Thermodynamics on.
Need_Food inflatorFood = giver.needs.TryGetNeed<Need_Food>();
inflatorFood.CurLevel += donatedNutrition;
if (inflatorFood != null)
inflatorFood.CurLevel += donatedNutrition;
}
*/
}
}
}

View file

@ -46,6 +46,31 @@ namespace RJW_Genes
harmony.Patch(AccessTools.Method(typeof(Quirk), nameof(Quirk.CountSatisfiedQuirks)),
postfix: new HarmonyMethod(typeof(QuirkPatcher), nameof(QuirkPatcher.CountSatisfiedPostfix)));
// Patch Licentia, if Licentia exists
// Logic & Explanation taken from https://rimworldwiki.com/wiki/Modding_Tutorials/Compatibility_with_DLLs
// Adjusted to use ModsConfig (which makes it work, the example above does not run out of the box)
try
{
((Action)(() =>
{
if (ModsConfig.IsActive("LustLicentia.RJWLabs"))
{
// Gene: Cumflation Immunity [Prefix Patch]
harmony.Patch(AccessTools.Method(typeof(LicentiaLabs.CumflationHelper), nameof(LicentiaLabs.CumflationHelper.Cumflation)),
prefix: new HarmonyMethod(typeof(Patch_Cumflation), nameof(Patch_Cumflation.Prefix)));
// Gene: Generous Donor [Postfix Patch]
harmony.Patch(AccessTools.Method(typeof(LicentiaLabs.CumflationHelper), nameof(LicentiaLabs.CumflationHelper.TransferNutrition)),
postfix: new HarmonyMethod(typeof(Patch_TransferNutrition), nameof(Patch_TransferNutrition.Postfix)));
// Gene: CumEater [Postfix Patch] -- This is not exactly licentia, but the Generous-Donor Gene is only active with Licentia
harmony.Patch(AccessTools.Method(typeof(rjw.JobDriver_Sex), nameof(rjw.JobDriver_Sex.ChangePsyfocus)),
postfix: new HarmonyMethod(typeof(Patch_SexTicks_ChangePsyfocus), nameof(Patch_SexTicks_ChangePsyfocus.Postfix)));
}
}))();
}
catch (TypeLoadException ex)
{
// To be expected for people without Licentia Labs
}
}
}