rjw-plasticsurgeries/Source/RJW_PlasticSurgeries/Recipe_Surgery_Penoplasty.cs

69 lines
1.9 KiB
C#
Raw Normal View History

using System.Collections.Generic;
2022-10-19 17:46:54 +00:00
using LicentiaLabs;
2022-01-15 22:43:57 +00:00
using rjw;
using Verse;
namespace RJW_PlasticSurgeries
{
public abstract class Recipe_Surgery_Penoplasty : Recipe_Plastic_Surgery
2022-01-15 22:43:57 +00:00
{
protected override BodyPartRecord GetPartCandidate(Pawn pawn)
2022-01-15 22:43:57 +00:00
{
return Genital_Helper.get_genitalsBPR(pawn);
2022-01-15 22:43:57 +00:00
}
protected override bool HasPart(Pawn pawn, List<Hediff> hediffs)
2022-01-15 22:43:57 +00:00
{
return Genital_Helper.has_penis_fertile(pawn, hediffs) ||
Genital_Helper.has_penis_infertile(pawn, hediffs);
2022-01-15 22:43:57 +00:00
}
protected override List<Hediff> GetHediffs(Pawn pawn)
2022-10-19 15:51:28 +00:00
{
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_penis);
2022-10-19 15:51:28 +00:00
}
2022-10-19 17:46:54 +00:00
protected override (HediffDef, float) GetLicentiaDamage() =>
(Licentia.HediffDefs.StretchTear, 0.2f);
2022-01-15 22:43:57 +00:00
}
public class Recipe_Surgery_Penoplasty_Micro : Recipe_Surgery_Penoplasty
{
protected override void SurgeryResult(Pawn pawn)
{
SurgeryX(pawn, 0.1f, true);
}
2022-01-15 22:43:57 +00:00
}
public class Recipe_Surgery_Penoplasty_Small : Recipe_Surgery_Penoplasty
{
protected override void SurgeryResult(Pawn pawn)
{
SurgeryX(pawn, 0.3f, true);
}
2022-01-15 22:43:57 +00:00
}
public class Recipe_Surgery_Penoplasty_Average : Recipe_Surgery_Penoplasty
{
protected override void SurgeryResult(Pawn pawn)
{
SurgeryX(pawn, 0.5f, true);
}
2022-01-15 22:43:57 +00:00
}
public class Recipe_Surgery_Penoplasty_Large : Recipe_Surgery_Penoplasty
{
protected override void SurgeryResult(Pawn pawn)
{
SurgeryX(pawn, 0.7f, true);
}
2022-01-15 22:43:57 +00:00
}
public class Recipe_Surgery_Penoplasty_Huge : Recipe_Surgery_Penoplasty
{
protected override void SurgeryResult(Pawn pawn)
{
SurgeryX(pawn, 0.9f, true);
}
2022-01-15 22:43:57 +00:00
}
}