mirror of
https://github.com/vegapnk/RJW-Genes.git
synced 2024-08-15 00:23:31 +00:00
Compare commits
5 commits
a28354b164
...
814c4ffe47
Author | SHA1 | Date | |
---|---|---|---|
|
814c4ffe47 | ||
|
d662d8f032 | ||
|
e669a3a65b | ||
|
f994cc6283 | ||
|
b6ac823fd7 |
9 changed files with 55 additions and 43 deletions
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -1,3 +1,15 @@
|
|||
# 1.1.3
|
||||
|
||||
Changes:
|
||||
|
||||
- Youth Fountain and Age Drainer "stop" at 18 (#26)
|
||||
- Youth Fountain and Age Drainer activate only for pawns at 18 (#26)
|
||||
- Drained Pawns vomit less (from mtb 0.05 to 0.01)
|
||||
|
||||
Fixes:
|
||||
|
||||
- InsectBreeder would mess with normal Pawn-Animal pregancy for egg laying animals (#23)
|
||||
|
||||
# 1.1.2
|
||||
|
||||
Changes:
|
||||
|
|
Binary file not shown.
|
@ -74,7 +74,7 @@
|
|||
<statOffsets>
|
||||
<WorkSpeedGlobal>-0.2</WorkSpeedGlobal>
|
||||
</statOffsets>
|
||||
<vomitMtbDays>0.05</vomitMtbDays>
|
||||
<vomitMtbDays>0.01</vomitMtbDays>
|
||||
<hungerRateFactorOffset>0.1</hungerRateFactorOffset>
|
||||
<restFallFactorOffset>0.35</restFallFactorOffset>
|
||||
</li>
|
||||
|
|
15
README.md
15
README.md
|
@ -28,9 +28,14 @@ Please consider looking at [the known bugs](./KNOWN_BUGS.md)
|
|||
I currently don't use Races after Biotech was introduced.
|
||||
One of the main motivations was to have genes being added to the xenotypes that other mods and the base game add, e.g. adding demonic penis for impids.
|
||||
|
||||
## Load Order / Deps
|
||||
Some HAR races change sex-ages and behave unfriendly with this mod.
|
||||
You can make reports about that, but I might not fix it.
|
||||
|
||||
1. Please load this after any mod adding genes, and after the used RJW-Mods (Licentia, Sexperience).
|
||||
2. Should not be used with the original RJW_Animal_Gene_Inheritance anymore.
|
||||
3. There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now.
|
||||
4. CAI5000 will not crash, but will make *Seduce*-Ability fail. I think same goes for Combat Extended.
|
||||
## Load Order, Dependencies and Conflicts
|
||||
|
||||
Please load this after any mod adding genes, and after the used RJW-Mods (Licentia, Sexperience).
|
||||
|
||||
**Conflicts:**
|
||||
1. Should not be used with the original RJW_Animal_Gene_Inheritance anymore.
|
||||
2. There was an issue with other "Male-Only / Female-Only" Mods --- for which we provide our own Genes now.
|
||||
3. CAI5000 will not crash, but will make *Seduce*-Ability fail. I think same goes for Combat Extended.
|
|
@ -1,24 +0,0 @@
|
|||
using HarmonyLib;
|
||||
using rjw;
|
||||
using Verse;
|
||||
|
||||
namespace RJW_Genes
|
||||
{
|
||||
/// <summary>
|
||||
/// Kindly provided by 'shabalox' https://github.com/Shabalox/RJW_Genes_Addons/
|
||||
///
|
||||
/// Note on the logic: the result mentioned below is changing the result of fertilization (true or false) to true if the pawn has the insect-breeder gene.
|
||||
/// </summary>
|
||||
[HarmonyPatch(typeof(PawnExtensions), "RaceImplantEggs")]
|
||||
public static class PatchPawnExtensions
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
public static void Postfix(Pawn pawn, ref bool __result)
|
||||
{
|
||||
if (!__result)
|
||||
{
|
||||
__result = GeneUtility.IsInsectBreeder(pawn);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -11,12 +11,20 @@ namespace RJW_Genes.Genes.Special
|
|||
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
|
||||
public static class Patch_AgeDrain
|
||||
{
|
||||
/**
|
||||
* Update Issue #26:
|
||||
* There are options that a 16 yo pawn and a 16 yo pawn have sex,
|
||||
* or there are races that have a different age-limits.
|
||||
* I don't want to account for "trust me this race is really adult with Age 6!!!"-stuff.
|
||||
* As it is somewhat a bug when the pawns age tho, I added that the youth-fountain also needs to have MIN_AGE.
|
||||
* If you'd like a different behaviour, you have to do it yourself.
|
||||
*/
|
||||
|
||||
const long AGE_TRANSFERED = 120000; // 120k == 2 days
|
||||
// 20 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
|
||||
const long MINIMUM_AGE = 20 * 60 * 60000 + 1;
|
||||
// 18 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
|
||||
const long MINIMUM_AGE = 18 * 60 * 60000 + 1;
|
||||
|
||||
// Comment Below in for debugging, changes years
|
||||
// Comment AGE_TRANSFERED in for debugging, changes years
|
||||
// const long AGE_TRANSFERED = 12000000;
|
||||
public static void Postfix(SexProps props)
|
||||
{
|
||||
|
@ -24,7 +32,7 @@ namespace RJW_Genes.Genes.Special
|
|||
{
|
||||
return;
|
||||
}
|
||||
if (GeneUtility.IsAgeDrainer(props.pawn))
|
||||
if (GeneUtility.IsAgeDrainer(props.pawn) && props.pawn.ageTracker.AgeBiologicalTicks > MINIMUM_AGE)
|
||||
{
|
||||
var pawnAge = props.pawn.ageTracker.AgeBiologicalTicks;
|
||||
//ModLog.Error($"Firing Age Drain \nMinimum Age is \t{MINIMUM_AGE} \nPawn Age is \t{pawnAge} \nTransferred \t{AGE_TRANSFERED}\nResulting in \t{pawnAge - AGE_TRANSFERED}");
|
||||
|
|
|
@ -11,10 +11,19 @@ namespace RJW_Genes.Genes.Special
|
|||
[HarmonyPatch(typeof(SexUtility), "Aftersex")]
|
||||
public static class Patch_Youth_Fountain
|
||||
{
|
||||
/**
|
||||
* Update Issue #26:
|
||||
* There are options that a 16 yo pawn and a 16 yo pawn have sex,
|
||||
* or there are races that have a different age-limits.
|
||||
* I don't want to account for "trust me this race is really adult with Age 6!!!"-stuff.
|
||||
* As it is somewhat a bug when the pawns age tho, I added that the youth-fountain also needs to have MIN_AGE.
|
||||
* If you'd like a different behaviour, you have to do it yourself.
|
||||
*/
|
||||
|
||||
|
||||
const long AGE_REDUCTION = 60000; // 60k == 1 day
|
||||
// 20 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
|
||||
const long MINIMUM_AGE = 20 * 60 * 60000 + 1;
|
||||
// 18 Years * 60 Days / Year * 60k Ticks/Day + 1 for safety
|
||||
const long MINIMUM_AGE = 18 * 60 * 60000 + 1;
|
||||
|
||||
// Comment Below in for debugging
|
||||
// const long AGE_REDUCTION = 6000000; // 6000k == 100 days
|
||||
|
@ -24,12 +33,10 @@ namespace RJW_Genes.Genes.Special
|
|||
{
|
||||
return;
|
||||
}
|
||||
if (GeneUtility.IsYouthFountain(props.pawn))
|
||||
if (GeneUtility.IsYouthFountain(props.pawn) && props.pawn.ageTracker.AgeBiologicalTicks >= MINIMUM_AGE)
|
||||
{
|
||||
var partnerAge = props.partner.ageTracker.AgeBiologicalTicks;
|
||||
|
||||
//ModLog.Error($"Firing Youth Fountain \nMinimum Age is \t{MINIMUM_AGE}\t{ticksToYears(MINIMUM_AGE)}y\nPawn Age is \t{partnerAge}\t{ticksToYears(partnerAge)}y \nTransferred \t {AGE_REDUCTION}\t{ticksToYears(AGE_REDUCTION)}y\nResulting in \t{partnerAge - AGE_REDUCTION}\t{ticksToYears(partnerAge - AGE_REDUCTION)}y");
|
||||
|
||||
props.partner.ageTracker.AgeBiologicalTicks = Math.Max(MINIMUM_AGE, partnerAge - AGE_REDUCTION);
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
<Compile Include="GeneDefOf.cs" />
|
||||
<Compile Include="Genes\Breeding\Gene_MechBreeder.cs" />
|
||||
<Compile Include="Genes\Breeding\PatchMechBirth.cs" />
|
||||
<Compile Include="Genes\Breeding\PatchPawnExtensions.cs" />
|
||||
<Compile Include="Genes\Breeding\Patch_EggFertilization.cs" />
|
||||
<Compile Include="Genes\Breeding\PatchPregnancyHelper.cs" />
|
||||
<Compile Include="Genes\Cum\CumUtility.cs" />
|
||||
|
|
11
TODOS.md
11
TODOS.md
|
@ -1,7 +1,6 @@
|
|||
# ToDos and Planned Genes
|
||||
|
||||
I have many ideas but not too much time / knowledge of Rimworld or Modding.
|
||||
So any help is very appreciated, even if it is just pointing me to existing similar projects.
|
||||
Any help is very appreciated, even if it is just pointing me to existing similar projects.
|
||||
|
||||
## Additions to existing things
|
||||
|
||||
|
@ -53,4 +52,10 @@ There were some suggestions on the Discord I saved them somewhere else. I am far
|
|||
|
||||
- Genitalia deal damage as per size (on normal sex-use)
|
||||
- Genitalia can cause Terror (as ability)
|
||||
- Cumshot Sniper Abilities
|
||||
- Cumshot Sniper Abilities
|
||||
|
||||
## Cleanups:
|
||||
|
||||
- Streamline Filenames / Names to either be LifeForce or Fertilin (e.g. `Hediffs_Fertilin.xml` but `Pawnkind_LifeForce.xml`). I think most things are called LifeForce.
|
||||
- Similar cleanup for the patches, and make a note what to find where in the patches
|
||||
- Change Project structure to the 1.3, 1.4 Structure of other mods
|
Loading…
Add table
Add a link
Reference in a new issue