Added Human parts

This commit is contained in:
Samuele Lorefice
2024-12-31 04:06:14 +01:00
parent abfde63278
commit 3380ad963c
36 changed files with 266 additions and 35 deletions

9
Parts/Human/HumanAnus.cs Normal file
View File

@@ -0,0 +1,9 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanAnus : Anus{
[Attribute] public float DepthTolerance { get; set; }
[Attribute] public float GirthTolerance { get; set; }
[Trait] public float GirthLimit { get; set; }
}

7
Parts/Human/HumanArm.cs Normal file
View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public class HumanArm : Arm {
}

View File

@@ -0,0 +1,8 @@
namespace WaifuCellar.Parts.Human;
public class HumanBreasts {
[Trait] public EBreastSize Size { get; set; }
[Attribute] public float Sensitivity { get; set; }
[Trait] public EAreolaSize AreolaSize { get; set; }
[Attribute] public float AreolaSensitivity { get; set; }
}

7
Parts/Human/HumanEar.cs Normal file
View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanEar : Ear{
}

7
Parts/Human/HumanEye.cs Normal file
View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanEye : Eye {
}

7
Parts/Human/HumanFoot.cs Normal file
View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanFoot : Foot{
}

7
Parts/Human/HumanHand.cs Normal file
View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanHand : Hand {
}

79
Parts/Human/HumanHead.cs Normal file
View File

@@ -0,0 +1,79 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanHead(Part? parentPart) : Head {
public override Part? ParentPart { get; set; } = parentPart;
private List<Part> _attachedParts = [];
public override List<Part> AttachedParts => _attachedParts;
public Eye? LeftEye {
get;
set {
_attachedParts.Remove(field!);
field = value;
_attachedParts.Add(field!);
}
}
public Eye? RightEye {
get;
set {
_attachedParts.Remove(field!);
field = value;
_attachedParts.Add(field!);
}
}
public Mouth? Mouth {
get;
set {
_attachedParts.Remove(field!);
field = value;
_attachedParts.Add(field!);
}
}
public void AddPart(Eye eye, EPosition position) {
if (position == EPosition.Left) {
LeftEye = eye;
return;
}
if (position == EPosition.Right) {
RightEye = eye;
return;
}
}
public override void AddPart(Part part) {
if (part is Eye eye) {
if (LeftEye == null) {
LeftEye = eye;
return;
}
if (RightEye == null) {
RightEye = eye;
return;
}
}
if (part is Mouth mouth) {
if (Mouth == null) {
Mouth = mouth;
return;
}
}
throw new PartNotAttachableException(part, typeof(HumanHead));
}
public HumanHead(Part? parentPart, Eye? leftEye, Eye? rightEye, Mouth? mouth) : this(parentPart) {
ParentPart = parentPart;
LeftEye = leftEye;
RightEye = rightEye;
Mouth = mouth;
}
}

7
Parts/Human/HumanLeg.cs Normal file
View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanLeg : Leg{
}

10
Parts/Human/HumanMouth.cs Normal file
View File

@@ -0,0 +1,10 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanMouth(Part? parentPart) : Mouth {
public override Part? ParentPart { get; set; } = parentPart;
[Attribute] public float GirthTolerance { get; set; }
[Attribute] public float DepthTolerance { get; set; }
}

View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanPenis : Penis {
//TODO: add the related stats
}

View File

@@ -0,0 +1,7 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanTorso : Torso {
}

View File

@@ -0,0 +1,13 @@
using WaifuCellar.Parts.Base;
namespace WaifuCellar.Parts.Human;
public sealed class HumanVagina : Vagina {
[Attribute] public int ClitorisSensitivity { get; set; }
[Attribute] public float DepthTolerance { get; set; }
[Trait] public float DepthLimit { get; set; }
[Attribute] public float GirthTolerance { get; set; }
[Trait] public float GirthLimit { get; set; }
[Attribute] public float GSpotSensitivity { get; set; }
[Attribute] public float CervixSensitivity { get; set; }
}