2022-10-19 16:50:30 +00:00
|
|
|
|
using System.Collections.Generic;
|
2022-10-19 17:46:54 +00:00
|
|
|
|
using LicentiaLabs;
|
2022-01-15 02:57:37 +00:00
|
|
|
|
using rjw;
|
2021-12-29 18:50:44 +00:00
|
|
|
|
using Verse;
|
|
|
|
|
|
|
|
|
|
namespace RJW_PlasticSurgeries
|
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
public abstract class Recipe_Surgery_Vaginoplasty : Recipe_Plastic_Surgery
|
2021-12-29 18:50:44 +00:00
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override BodyPartRecord GetPartCandidate(Pawn pawn)
|
2021-12-29 18:50:44 +00:00
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
return Genital_Helper.get_genitalsBPR(pawn);
|
2021-12-29 18:50:44 +00:00
|
|
|
|
}
|
|
|
|
|
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override bool HasPart(Pawn pawn, List<Hediff> hediffs)
|
2021-12-29 18:50:44 +00:00
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
return Genital_Helper.has_vagina(pawn, hediffs);
|
2021-12-29 18:50:44 +00:00
|
|
|
|
}
|
2022-02-03 01:01:01 +00:00
|
|
|
|
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override List<Hediff> GetHediffs(Pawn pawn)
|
2022-02-03 01:01:01 +00:00
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
return pawn.GetGenitalsList().FindAll(Genital_Helper.is_vagina);
|
2022-02-03 01:01:01 +00:00
|
|
|
|
}
|
2022-10-19 17:46:54 +00:00
|
|
|
|
|
|
|
|
|
protected override (HediffDef, float) GetLicentiaDamage() =>
|
|
|
|
|
(Licentia.HediffDefs.StretchTear, 0.2f);
|
2021-12-29 18:50:44 +00:00
|
|
|
|
}
|
2021-12-30 20:56:09 +00:00
|
|
|
|
|
|
|
|
|
public class Recipe_Surgery_Vaginoplasty_Micro : Recipe_Surgery_Vaginoplasty
|
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override void SurgeryResult(Pawn pawn)
|
|
|
|
|
{
|
|
|
|
|
SurgeryX(pawn, 0.1f, true);
|
|
|
|
|
}
|
2021-12-30 20:56:09 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Recipe_Surgery_Vaginoplasty_Tight : Recipe_Surgery_Vaginoplasty
|
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override void SurgeryResult(Pawn pawn)
|
|
|
|
|
{
|
|
|
|
|
SurgeryX(pawn, 0.3f, true);
|
|
|
|
|
}
|
2021-12-30 20:56:09 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Recipe_Surgery_Vaginoplasty_Average : Recipe_Surgery_Vaginoplasty
|
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override void SurgeryResult(Pawn pawn)
|
|
|
|
|
{
|
|
|
|
|
SurgeryX(pawn, 0.5f, true);
|
|
|
|
|
}
|
2021-12-30 20:56:09 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Recipe_Surgery_Vaginoplasty_Accomodating : Recipe_Surgery_Vaginoplasty
|
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override void SurgeryResult(Pawn pawn)
|
|
|
|
|
{
|
|
|
|
|
SurgeryX(pawn, 0.7f, true);
|
|
|
|
|
}
|
2021-12-30 20:56:09 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Recipe_Surgery_Vaginoplasty_Cavernous : Recipe_Surgery_Vaginoplasty
|
|
|
|
|
{
|
2022-10-19 16:50:30 +00:00
|
|
|
|
protected override void SurgeryResult(Pawn pawn)
|
|
|
|
|
{
|
|
|
|
|
SurgeryX(pawn, 0.9f, true);
|
|
|
|
|
}
|
2021-12-30 20:56:09 +00:00
|
|
|
|
}
|
2021-12-29 18:50:44 +00:00
|
|
|
|
}
|