Added base parts

This commit is contained in:
Samuele Lorefice
2024-12-31 03:05:17 +01:00
parent 9a1eed7f80
commit abfde63278
19 changed files with 158 additions and 0 deletions

18
Attributes.cs Normal file
View File

@@ -0,0 +1,18 @@
namespace WaifuCellar;
[AttributeUsage(AttributeTargets.Property)]
public class TraitAttribute : Attribute {}
[AttributeUsage(AttributeTargets.Property)]
public class AttributeAttribute : Attribute{}
[AttributeUsage(AttributeTargets.Property)]
public class StateAttribute : Attribute{}
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class PartSpecificAttribute(Part part) : Attribute {
public Part Part { get; set; } = part;
}
[AttributeUsage(AttributeTargets.Property)]
public class SkillAttribute : Attribute {}

20
Characters/Character.cs Normal file
View File

@@ -0,0 +1,20 @@
namespace WaifuCellar.Characters;
public class Character : Part {
[Trait] public int Age { get; set; }
[Trait] public EBodyBuild BodyBuild { get; set; }
[Attribute] public int Strength { get; set; }
[Trait] public EPersonality Personality { get; set; }
[State] public EMood Mood { get; set; }
[Trait] public int Adaptability { get; set; }
[Trait] public int Endurance { get; set; }
[Attribute] public int PainTolerance { get; set; }
[State] public int Stamina { get; set; }
[Trait] public float LearningScalar { get; set; }
[Attribute] public int Agility { get; set; }
[State] public int Equilibrium { get; set; }
//Only for this part
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

11
Characters/EBodyBuild.cs Normal file
View File

@@ -0,0 +1,11 @@
namespace WaifuCellar.Characters;
public enum EBodyBuild {
Petite,
Slim,
Average,
Athletic,
Muscular,
Chubby,
Fat
}

5
Characters/EMood.cs Normal file
View File

@@ -0,0 +1,5 @@
namespace WaifuCellar.Characters;
public enum EMood {
}

View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Characters;
public enum EPersonality {
Shy,
NotShy
//TODO: Add more
}

5
IBuff.cs Normal file
View File

@@ -0,0 +1,5 @@
namespace WaifuCellar;
public interface IBuff {
}

8
Part.cs Normal file
View File

@@ -0,0 +1,8 @@
namespace WaifuCellar;
public abstract class Part {
public abstract List<IBuff> Buffs { get; set; }
public abstract Part? ParentPart { get; set; }
//Also includes limbs
public abstract List<Part> AttachedParts { get; set; }
}

7
Parts/Base/Arm.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Arm : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Breasts.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Breasts : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Ear.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Ear : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Eye.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Eye : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Foot.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Foot : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Hand.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Hand : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Head.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Head : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Leg.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Leg : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Mouth.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Mouth : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Penis.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Penis : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Torso.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Torso : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}

7
Parts/Base/Vagina.cs Normal file
View File

@@ -0,0 +1,7 @@
namespace WaifuCellar.Parts.Base;
public class Vagina : Part {
public override List<IBuff> Buffs { get; set; } = new();
public override Part? ParentPart { get; set; }
public override List<Part> AttachedParts { get; set; } = new();
}