mirror of
https://github.com/amevarashi/RJW-Sexperience.git
synced 2024-08-14 23:54:08 +00:00
Refactor cum ingestion
This commit is contained in:
parent
78480e6eda
commit
6652d7e1a6
3 changed files with 15 additions and 17 deletions
|
@ -4,6 +4,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Verse;
|
using Verse;
|
||||||
|
using RJWSexperience.Logs;
|
||||||
|
|
||||||
namespace RJWSexperience
|
namespace RJWSexperience
|
||||||
{
|
{
|
||||||
|
@ -130,24 +131,18 @@ namespace RJWSexperience
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void AteCum(this Pawn pawn, float amount, bool doDrugEffect = false)
|
public static void AteCum(this Pawn pawn, float amount)
|
||||||
{
|
{
|
||||||
pawn.records.AddTo(VariousDefOf.NumofEatenCum, 1);
|
const float allOf = 1000f;
|
||||||
pawn.records.AddTo(VariousDefOf.AmountofEatenCum, amount);
|
|
||||||
if (doDrugEffect) pawn.CumDrugEffect();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void CumDrugEffect(this Pawn pawn)
|
var log = LogManager.GetLogger<DebugLogProvider>("PawnExtensions");
|
||||||
{
|
log.Message($"AteCum({pawn.NameShortColored}, {amount})");
|
||||||
Need need = pawn.needs?.TryGetNeed(VariousDefOf.Chemical_Cum);
|
|
||||||
if (need != null) need.CurLevel += VariousDefOf.CumneedLevelOffset;
|
|
||||||
Hediff addictive = HediffMaker.MakeHediff(VariousDefOf.CumTolerance, pawn);
|
|
||||||
addictive.Severity = 0.032f;
|
|
||||||
pawn.health.AddHediff(addictive);
|
|
||||||
Hediff addiction = pawn.health.hediffSet.GetFirstHediffOfDef(VariousDefOf.CumAddiction);
|
|
||||||
if (addiction != null) addiction.Severity += VariousDefOf.CumexistingAddictionSeverityOffset;
|
|
||||||
|
|
||||||
pawn.needs?.mood?.thoughts?.memories?.TryGainMemoryFast(VariousDefOf.AteCum);
|
Thing cum = ThingMaker.MakeThing(VariousDefOf.GatheredCum);
|
||||||
|
cum.stackCount = (int)Math.Ceiling(amount);
|
||||||
|
log.Message($"Created a stack of {cum.stackCount} cum");
|
||||||
|
cum.Ingested(pawn, allOf);
|
||||||
|
log.Message($"{pawn.NameShortColored} ingested cum");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void AddVirginTrait(this Pawn pawn)
|
public static void AddVirginTrait(this Pawn pawn)
|
||||||
|
|
|
@ -10,7 +10,10 @@ namespace RJWSexperience
|
||||||
|
|
||||||
protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested)
|
protected override void DoIngestionOutcomeSpecial(Pawn pawn, Thing ingested)
|
||||||
{
|
{
|
||||||
pawn.AteCum(ingested.stackCount * unitAmount);
|
int amount = ingested.stackCount * (int)unitAmount;
|
||||||
|
Logs.LogManager.GetLogger<CumOutcomeDoers, Logs.DebugLogProvider>().Message($"Record {pawn.NameShortColored} eating {amount} ml of cum");
|
||||||
|
pawn.records.Increment(VariousDefOf.NumofEatenCum);
|
||||||
|
pawn.records.AddTo(VariousDefOf.AmountofEatenCum, amount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,7 +124,7 @@ namespace RJWSexperience
|
||||||
if (!PawnsPenisIsInPartnersMouth(props))
|
if (!PawnsPenisIsInPartnersMouth(props))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
props.partner.AteCum(props.pawn.GetCumVolume(), true);
|
props.partner.AteCum(props.pawn.GetCumVolume());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool PawnsPenisIsInPartnersMouth(SexProps props)
|
private static bool PawnsPenisIsInPartnersMouth(SexProps props)
|
||||||
|
|
Loading…
Reference in a new issue