diff --git a/CHANGELOG.md b/CHANGELOG.md
index d77f547d1eb39b2b1100885711027da253f6cde9..b2a39c87bee1308e03151a887385a67b3e05c8ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ## Unreleased
 
 * added a number of animal tail/ear/limb prosthetics
+* piercings overhauled
+* added better support for custom piercings
+* added a REFS event for Roman Revivalism
 
 ## 0.10.7.1-4.0.0-alpha.10 - 2021-09-12
 
diff --git a/devNotes/legacy files/slave variables documentation.md b/devNotes/legacy files/slave variables documentation.md
index 669b2081a5bd49a4271095c587cc7b6a51f2e7f6..568709e95aacd1a53a6c0032e2a91176ed3315fe 100644
--- a/devNotes/legacy files/slave variables documentation.md	
+++ b/devNotes/legacy files/slave variables documentation.md	
@@ -2487,13 +2487,6 @@ accepts string
 "baby"
 "mixed"
 
-tonguePiercing:
-
-has tongue piercing
-0 - no
-1 - yes
-2 - heavy
-
 vagina:
 
 vagina type
@@ -2512,13 +2505,6 @@ how wet she is
 1 - wet
 2 - soaking wet
 
-vaginaPiercing:
-
-has vagina piercing
-0 - no
-1 - yes
-2 - heavy
-
 vaginaTat:
 
 vagina tattoo
@@ -2662,14 +2648,6 @@ clit size
 4 - penis-like
 5 - like a massive penis
 
-clitPiercing:
-
-is clit pierced
-0 - no
-1 - yes
-2 - heavy
-3 - smart
-
 clitSetting:
 
 smart piercing setting
@@ -2790,13 +2768,6 @@ has ovaries
 0 - no
 1 - yes
 
-anusPiercing:
-
-has anus piercing
-0 - no
-1 - yes
-2 - heavy
-
 anusTat:
 
 anus tattoo
@@ -2847,34 +2818,6 @@ brand:
 is an object
 keys include any place on a slave body that can receive a brand, values are a string for the brand.
 
-earPiercing:
-
-has pierced ears
-0 - no
-1 - yes
-2 - heavy
-
-nosePiercing:
-
-has pierced nose
-0 - no
-1 - yes
-2 - heavy
-
-eyebrowPiercing:
-
-has eyebrow piercing
-0 - no
-1 - yes
-2 - heavy
-
-navelPiercing:
-
-has navel piercing
-0 - no
-1 - yes
-2 - heavy
-
 shouldersTat:
 
 shoulder tattoo
@@ -3853,6 +3796,41 @@ currentRules: []
 array that holds active rules for the slave
 wouldn't mess with it
 
+piercing:
+
+encapsulates piercings
+piercing.ear
+piercing.nose
+piercing.eyebrow
+piercing.lips
+piercing.tongue
+piercing.nipple
+piercing.areola
+piercing.navel
+piercing.corset
+piercing.vagina
+piercing.dick
+piercing.anus
+piercing.genitals
+
+piercing.X.weight:
+
+How heavily X is pierced.
+0 - none
+1 - light
+2 - heavy
+
+piercing.X.desc:
+
+Contains a custom description.
+"" by default
+
+piercing.genitals.smart:
+
+Smart piercing presence.
+"false"
+"true"
+
 bellyTat:
 
 Slave has a tattoo that is only recognizable when she has a big belly.
diff --git a/src/npc/databases/dSlavesDatabase.js b/src/npc/databases/dSlavesDatabase.js
index ad54ecb0f19c29801efaaf794927a85c11b04848..e487ed120072d0d576f3a515dd2af8acc558f78e 100644
--- a/src/npc/databases/dSlavesDatabase.js
+++ b/src/npc/databases/dSlavesDatabase.js
@@ -158,11 +158,11 @@ App.Data.HeroSlaves.D = [
 		buttTat: "tribal patterns",
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 1,
-		nosePiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.nose.weight: 1,
 		skill: {
 			vaginal: 35,
 			oral: 35,
@@ -198,7 +198,7 @@ App.Data.HeroSlaves.D = [
 		vaginaLube: 1,
 		anus: 1,
 		ovaries: 1,
-		nosePiercing: 2,
+		piercing.nose.weight: 2,
 		skill: {
 			vaginal: 15,
 			oral: 15,
@@ -298,18 +298,18 @@ App.Data.HeroSlaves.D = [
 		boobs: 1400,
 		boobsImplant: 800,
 		boobsImplantType: "normal",
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		boobsTat: "degradation",
 		butt: 6,
 		buttImplant: 3,
 		buttImplantType: "normal",
 		buttTat: "degradation",
 		lips: 35,
-		lipsPiercing: 2,
+		piercing.lips.weight: 2,
 		lipsTat: "degradation",
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		vaginaTat: "degradation",
 		anus: 1,
 		ovaries: 1,
@@ -398,11 +398,11 @@ App.Data.HeroSlaves.D = [
 		hLength: 60,
 		hStyle: "neat",
 		boobs: 300,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
 		vagina: 3,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		vaginaTat: "degradation",
 		anus: 3,
 		ovaries: 1,
@@ -436,7 +436,7 @@ App.Data.HeroSlaves.D = [
 		hLength: 30,
 		hStyle: "neat",
 		boobs: 300,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 1,
 		vagina: 1,
 		vaginaLube: 1,
@@ -478,7 +478,8 @@ App.Data.HeroSlaves.D = [
 		butt: 2,
 		vagina: 1,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "submissive",
 		ovaries: 1,
 		skill: {
@@ -802,13 +803,13 @@ App.Data.HeroSlaves.D = [
 		boobs: 650,
 		boobsImplant: 600,
 		boobsImplantType: "normal",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 2,
 		buttTat: "tribal patterns",
 		face: -15,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		anus: 1,
 		analArea: 1,
 		ovaries: 1,
@@ -843,14 +844,14 @@ App.Data.HeroSlaves.D = [
 		origSkin: "white",
 		hLength: 10,
 		boobs: 650,
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		boobsTat: "tribal patterns",
 		butt: 3,
 		buttTat: "tribal patterns",
-		lipsPiercing: 2,
+		piercing.lips.weight: 2,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		vaginaTat: "tribal patterns",
 		anus: 1,
 		ovaries: 1,
@@ -1068,19 +1069,19 @@ App.Data.HeroSlaves.D = [
 		hLength: 10,
 		hStyle: "afro",
 		boobs: 1000,
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		butt: 4,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		clit: 3,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		anus: 3,
 		ovaries: 1,
 		clothes: "attractive lingerie",
 		attrXY: 40,
 		fetishKnown: 1,
-		navelPiercing: 1
+		piercing.navel.weight: 1,
 	},
 	/* big clit*/
 	/* Added big clit, increased nipple piercing, added clit piercing -BoneyM*/
@@ -1143,7 +1144,7 @@ App.Data.HeroSlaves.D = [
 		lipsTat: "permanent makeup",
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		anus: 1,
 		ovaries: 1,
 		skill: {
@@ -1242,10 +1243,10 @@ App.Data.HeroSlaves.D = [
 		boobs: 650,
 		boobsImplant: 600,
 		boobsImplantType: "normal",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 5,
-		lipsPiercing: 1,
-		tonguePiercing: 1,
+		piercing.lips.weight: 1,
+		piercing.tongue.weight: 1,
 		vagina: 1,
 		vaginaLube: 1,
 		anus: 1,
@@ -1287,9 +1288,10 @@ App.Data.HeroSlaves.D = [
 		butt: 3,
 		vagina: 1,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			oral: 15,
 			whoring: 15,
@@ -1367,8 +1369,8 @@ App.Data.HeroSlaves.D = [
 		hStyle: "neat",
 		boobs: 400,
 		butt: 2,
-		lipsPiercing: 1,
-		tonguePiercing: 1,
+		piercing.lips.weight: 1,
+		piercing.tongue.weight: 1,
 		vagina: 1,
 		vaginaLube: 1,
 		ovaries: 1,
@@ -1646,19 +1648,19 @@ App.Data.HeroSlaves.D = [
 		hLength: 60,
 		hStyle: "cornrows",
 		boobs: 800,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 4,
 		lips: 35,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		clit: 1,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 2,
-		nosePiercing: 1,
-		eyebrowPiercing: 1,
+		piercing.ear.weight: 2,
+		piercing.nose.weight: 1,
+		piercing.eyebrow.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 15,
@@ -1673,8 +1675,8 @@ App.Data.HeroSlaves.D = [
 		areolae: 2,
 		nipples: "huge",
 		voice: 1,
-		navelPiercing: 1,
-		tonguePiercing: 1
+		piercing.navel.weight: 1,
+		piercing.tongue.weight: 1
 	},
 	/* big clit*/
 	/* Changed eyes to hazel, increased clit, added a lot of piercings, changed fetish to nympho, fixed customDesc syntax -BoneyM*/
@@ -1697,14 +1699,14 @@ App.Data.HeroSlaves.D = [
 		hLength: 60,
 		hStyle: "luxurious",
 		boobs: 800,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 4,
 		vagina: 2,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		anus: 2,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 100,
 			oral: 100,
@@ -1735,14 +1737,14 @@ App.Data.HeroSlaves.D = [
 		hLength: 10,
 		underArmHStyle: "bald",
 		boobs: 300,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
-		lipsPiercing: 2,
-		tonguePiercing: 2,
+		piercing.lips.weight: 2,
+		piercing.tongue.weight: 2,
 		vagina: 2,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
-		clitPiercing: 1,
+		piercing.vagina.weight: 1,
+		piercing.genitals.weight: 1,
 		anus: 2,
 		ovaries: 1,
 		skill: {
@@ -1851,7 +1853,7 @@ App.Data.HeroSlaves.D = [
 		vaginaLube: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 35,
@@ -1973,7 +1975,7 @@ App.Data.HeroSlaves.D = [
 		vagina: 1,
 		vaginaLube: 1,
 		anus: 2,
-		nosePiercing: 1,
+		piercing.nose.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 15,
@@ -2010,7 +2012,7 @@ App.Data.HeroSlaves.D = [
 		vaginaLube: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 100
@@ -2109,11 +2111,11 @@ App.Data.HeroSlaves.D = [
 		devotion: 60,
 		hStyle: "neat",
 		boobs: 500,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
 		vagina: 2,
 		vaginaLube: 1,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		anus: 2,
 		ovaries: 1,
 		skill: {
@@ -2190,11 +2192,11 @@ App.Data.HeroSlaves.D = [
 		butt: 3,
 		vagina: 1,
 		vaginaLube: 1,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 2,
-		nosePiercing: 1,
+		piercing.ear.weight: 2,
+		piercing.nose.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 35,
@@ -2228,16 +2230,16 @@ App.Data.HeroSlaves.D = [
 		hLength: 60,
 		hStyle: "neat",
 		boobs: 500,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
 		lips: 35,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
-		clitPiercing: 1,
+		piercing.vagina.weight: 1,
+		piercing.genitals.weight: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 15,
@@ -2286,7 +2288,7 @@ App.Data.HeroSlaves.D = [
 		vaginaLube: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 15,
@@ -2323,12 +2325,13 @@ App.Data.HeroSlaves.D = [
 		hLength: 60,
 		hStyle: "neat",
 		boobs: 300,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 1,
 		face: 60,
 		vagina: 1,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "off",
 		anus: 2,
 		ovaries: 1,
@@ -2371,7 +2374,7 @@ App.Data.HeroSlaves.D = [
 		boobs: 1200,
 		boobsImplant: 800,
 		boobsImplantType: "fillable",
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		lactation: 1,
 		lactationDuration: 2,
 		butt: 6,
@@ -2381,14 +2384,14 @@ App.Data.HeroSlaves.D = [
 		faceImplant: 15,
 		lips: 35,
 		lipsImplant: 10,
-		lipsPiercing: 1,
-		tonguePiercing: 1,
+		piercing.lips.weight: 1,
+		piercing.tongue.weight: 1,
 		vagina: 1,
 		vaginaLube: 1,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 2,
+		piercing.ear.weight: 2,
 		skill: {
 			vaginal: 35,
 			oral: 35,
@@ -2400,7 +2403,7 @@ App.Data.HeroSlaves.D = [
 			tattoo: "$He has many girly tattoos.",
 			desc: "$He loves hair play."
 		},
-		navelPiercing: 1
+		piercing.navel.weight: 1,
 	},
 	/* Reduced weight, increased face and face implant, added piercings, corrected tattoo and customDesc syntax -BoneyM*/
 	{
@@ -2458,12 +2461,12 @@ App.Data.HeroSlaves.D = [
 		boobs: 300,
 		butt: 5,
 		lips: 35,
-		lipsPiercing: 1,
-		tonguePiercing: 1,
+		piercing.lips.weight: 1,
+		piercing.tongue.weight: 1,
 		vaginaLube: 1,
 		ovaries: 1,
-		earPiercing: 1,
-		eyebrowPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.eyebrow.weight: 1,
 		skill: {
 			oral: 35
 		},
@@ -2528,9 +2531,9 @@ App.Data.HeroSlaves.D = [
 		hStyle: "neat",
 		boobs: 500,
 		nipples: "inverted",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		ovaries: 1,
 		clothes: "attractive lingerie",
 		intelligence: 30,
@@ -2563,7 +2566,7 @@ App.Data.HeroSlaves.D = [
 		vaginaLube: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 35,
 			oral: 35,
@@ -2629,13 +2632,13 @@ App.Data.HeroSlaves.D = [
 		hLength: 60,
 		hStyle: "neat",
 		boobs: 1400,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 4,
 		vagina: 1,
 		vaginaLube: 1,
 		anus: 1,
 		ovaries: 1,
-		nosePiercing: 1,
+		piercing.nose.weight: 1,
 		attrXY: 40,
 		behavioralFlaw: "arrogant",
 		fetishKnown: 1,
@@ -2711,10 +2714,11 @@ App.Data.HeroSlaves.D = [
 		hStyle: "neat",
 		pubicHStyle: "neat",
 		boobs: 300,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "oral",
 		anus: 2,
 		ovaries: 1,
@@ -2845,7 +2849,7 @@ App.Data.HeroSlaves.D = [
 		vaginaLube: 1,
 		anus: 1,
 		ovaries: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 35,
 			oral: 35,
@@ -2959,11 +2963,12 @@ App.Data.HeroSlaves.D = [
 		hStyle: "neat",
 		waist: -55,
 		boobs: 700,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 2,
 		face: 55,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "all",
 		ovaries: 1,
 		anusTat: "bleached",
@@ -2989,10 +2994,10 @@ App.Data.HeroSlaves.D = [
 		hLength: 5,
 		hStyle: "a poor emulation of a military cut",
 		boobs: 250,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 5,
 		buttTat: "tribal patterns",
-		lipsPiercing: 1,
+		piercing.lips.weight: 1,
 		lipsTat: "tribal patterns",
 		vagina: 1,
 		vaginaLube: 1,
@@ -3001,10 +3006,10 @@ App.Data.HeroSlaves.D = [
 		anus: 1,
 		ovaries: 1,
 		anusTat: "tribal patterns",
-		earPiercing: 1,
-		nosePiercing: 1,
-		eyebrowPiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.nose.weight: 1,
+		piercing.eyebrow.weight: 1,
+		piercing.navel.weight: 1,
 		shouldersTat: "tribal patterns",
 		armsTat: "tribal patterns",
 		legsTat: "tribal patterns",
@@ -3070,12 +3075,12 @@ App.Data.HeroSlaves.D = [
 		pubicHStyle: "bushy",
 		waist: -55,
 		boobs: 400,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 4,
 		face: 15,
 		faceImplant: 65,
-		lipsPiercing: 1,
-		tonguePiercing: 1,
+		piercing.lips.weight: 1,
+		piercing.tongue.weight: 1,
 		vagina: 1,
 		vaginaLube: 1,
 		anus: 1,
@@ -3083,9 +3088,9 @@ App.Data.HeroSlaves.D = [
 		anusTat: "bleached",
 		makeup: 2,
 		nails: 1,
-		earPiercing: 1,
-		nosePiercing: 1,
-		eyebrowPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.nose.weight: 1,
+		piercing.eyebrow.weight: 1,
 		skill: {
 			whoring: 15,
 			entertainment: 15,
@@ -3134,7 +3139,8 @@ App.Data.HeroSlaves.D = [
 		face: 55,
 		lips: 35,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "submissive",
 		ovaries: 1,
 		skill: {
@@ -3171,7 +3177,8 @@ App.Data.HeroSlaves.D = [
 		vagina: 2,
 		vaginaLube: 1,
 		clit: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "anal",
 		boobs: 650,
 		boobsImplant: 200,
@@ -3182,11 +3189,11 @@ App.Data.HeroSlaves.D = [
 		faceImplant: 65,
 		anus: 1,
 		ovaries: 1,
-		anusPiercing: 2,
+		piercing.anus.weight: 2,
 		anusTat: "bleached",
 		makeup: 2,
 		nails: 2,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 15
@@ -3234,18 +3241,18 @@ App.Data.HeroSlaves.D = [
 		pubicHStyle: "in a strip",
 		waist: -55,
 		boobs: 1450,
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		butt: 5,
 		lips: 55,
 		vagina: 2,
 		vaginaLube: 1,
-		clit: 2,
-		clitPiercing: 2,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "women",
 		anus: 2,
 		ovaries: 1,
 		anusTat: "bleached",
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 100,
 			oral: 100,
@@ -3290,7 +3297,8 @@ App.Data.HeroSlaves.D = [
 		butt: 4,
 		vagina: 2,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "all",
 		anus: 2,
 		ovaries: 1,
@@ -3402,21 +3410,21 @@ App.Data.HeroSlaves.D = [
 		hStyle: "disheveled",
 		waist: -55,
 		boobs: 500,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
-		lipsPiercing: 1,
+		piercing.lips.weight: 1,
 		vagina: 1,
 		vaginaLube: 1,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		clitSetting: "anal",
 		anus: 1,
 		ovaries: 1,
 		anusTat: "bleached",
 		makeup: 2,
 		nails: 2,
-		earPiercing: 2,
-		nosePiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 2,
+		piercing.nose.weight: 1,
+		piercing.navel.weight: 1,
 		skill: {
 			vaginal: 100,
 			oral: 100,
@@ -3454,14 +3462,14 @@ App.Data.HeroSlaves.D = [
 		boobs: 3550,
 		boobsImplant: 3000,
 		boobsImplantType: "advanced fillable",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		areolae: 3,
 		boobsTat: "degradation",
 		butt: 2,
 		face: 15,
-		lipsPiercing: 2,
+		piercing.lips.weight: 2,
 		lipsTat: "degradation",
-		tonguePiercing: 2,
+		piercing.tongue.weight: 2,
 		vaginaLube: 1,
 		anus: 2,
 		ovaries: 1,
@@ -3495,7 +3503,8 @@ App.Data.HeroSlaves.D = [
 		vagina: 1,
 		vaginaLube: 1,
 		clit: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "humiliation",
 		anus: 1,
 		skill: {
@@ -3548,7 +3557,7 @@ App.Data.HeroSlaves.D = [
 		bellyAccessory: "a corset",
 		ovaries: 1,
 		anusTat: "flowers",
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		stampTat: "scenes",
 		skill: {
 			vaginal: 15,
@@ -3590,7 +3599,7 @@ App.Data.HeroSlaves.D = [
 		butt: 3,
 		vagina: 2,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		preg: 27,
 		pregType: 1,
 		pregWeek: 27,
@@ -3604,7 +3613,7 @@ App.Data.HeroSlaves.D = [
 		anus: 3,
 		ovaries: 1,
 		brand: {"right buttock": "SLAVE"},
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 100,
 			oral: 100,
@@ -3642,15 +3651,16 @@ App.Data.HeroSlaves.D = [
 		butt: 5,
 		vagina: 3,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
-		clitPiercing: 3,
+		piercing.vagina.weight: 2,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "vanilla",
 		anus: 3,
 		ovaries: 1,
-		anusPiercing: 1,
+		piercing.anus.weight: 1,
 		makeup: 1,
 		brand: {"right buttock": "SLAVE"},
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			vaginal: 100,
 			oral: 100,
@@ -3687,7 +3697,8 @@ App.Data.HeroSlaves.D = [
 		butt: 1,
 		face: 15,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "submissive",
 		analArea: 1,
 		ovaries: 1,
@@ -3733,7 +3744,8 @@ App.Data.HeroSlaves.D = [
 		vagina: 1,
 		vaginaLube: 1,
 		clit: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "all",
 		anus: 2,
 		skill: {
@@ -3778,7 +3790,8 @@ App.Data.HeroSlaves.D = [
 		face: 55,
 		lips: 35,
 		vaginaLube: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "oral",
 		ovaries: 1,
 		anusTat: "bleached",
@@ -3879,17 +3892,17 @@ App.Data.HeroSlaves.D = [
 		boobs: 650,
 		boobsImplant: 200,
 		boobsImplantType: "normal",
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		butt: 3,
 		buttImplant: 1,
 		buttImplantType: "normal",
 		face: 55,
 		faceImplant: 15,
 		lips: 35,
-		tonguePiercing: 1,
+		piercing.tongue.weight: 1,
 		vagina: 3,
 		vaginaLube: 1,
-		clitPiercing: 1,
+		piercing.genitals.weight: 1,
 		anus: 3,
 		ovaries: 1,
 		brand: {"right buttock": "your initials"},
@@ -3953,7 +3966,7 @@ App.Data.HeroSlaves.D = [
 		anus: 1,
 		ovaries: 1,
 		anusTat: "bovine patterns",
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		shouldersTat: "bovine patterns",
 		armsTat: "bovine patterns",
 		legsTat: "bovine patterns",
@@ -4001,29 +4014,30 @@ App.Data.HeroSlaves.D = [
 		hStyle: "shaved",
 		pubicHStyle: "bushy",
 		boobs: 600,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		boobsTat: "tribal patterns",
 		butt: 2,
 		buttTat: "tribal patterns",
 		face: 55,
 		faceImplant: 15,
 		lips: 35,
-		lipsPiercing: 1,
+		piercing.lips.weight: 1,
 		lipsTat: "tribal patterns",
-		tonguePiercing: 1,
+		piercing.tongue.weight: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 1,
+		piercing.vagina.weight: 1,
 		vaginaTat: "tribal patterns",
 		preg: -2,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "all",
 		ovaries: 1,
-		anusPiercing: 1,
+		piercing.anus.weight: 1,
 		anusTat: "bleached",
-		earPiercing: 1,
-		nosePiercing: 1,
-		eyebrowPiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.nose.weight: 1,
+		piercing.eyebrow.weight: 1,
+		piercing.navel.weight: 1,
 		shouldersTat: "tribal patterns",
 		armsTat: "tribal patterns",
 		legsTat: "tribal patterns",
@@ -4225,7 +4239,7 @@ App.Data.HeroSlaves.Dextreme = [
 		boobs: 6260,
 		boobsImplant: 4200,
 		boobsImplantType: "string",
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		areolae: 3,
 		boobsTat: "flowers",
 		lactation: 2,
@@ -4238,12 +4252,12 @@ App.Data.HeroSlaves.Dextreme = [
 		faceImplant: 15,
 		lips: 55,
 		lipsImplant: 10,
-		lipsPiercing: 2,
+		piercing.lips.weight: 2,
 		lipsTat: "flowers",
-		tonguePiercing: 2,
+		piercing.tongue.weight: 2,
 		vagina: 3,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		vaginaTat: "flowers",
 		preg: 37,
 		pregType: 1,
@@ -4255,17 +4269,18 @@ App.Data.HeroSlaves.Dextreme = [
 			births: 2,
 			birthsTotal: 2
 		},
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "boobs",
 		anus: 2,
 		ovaries: 1,
-		anusPiercing: 2,
+		piercing.anus.weight: 2,
 		anusTat: "flowers",
 		makeup: 3,
-		earPiercing: 2,
-		nosePiercing: 2,
-		eyebrowPiercing: 2,
-		navelPiercing: 2,
+		piercing.ear.weight: 2,
+		piercing.nose.weight: 2,
+		piercing.eyebrow.weight: 2,
+		piercing.navel.weight: 2,
 		shouldersTat: "advertisements",
 		stampTat: "flowers",
 		skill: {
@@ -4312,7 +4327,8 @@ App.Data.HeroSlaves.Dextreme = [
 		vagina: 2,
 		vaginaLube: 1,
 		bellyAccessory: "an extreme corset",
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "submissive",
 		anus: 2,
 		ovaries: 1,
@@ -4477,11 +4493,11 @@ App.Data.HeroSlaves.Dextreme = [
 		buttImplantType: "normal",
 		vagina: 2,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
-		clitPiercing: 1,
+		piercing.vagina.weight: 2,
+		piercing.genitals.weight: 1,
 		anus: 2,
 		anusTat: "tribal patterns",
-		nosePiercing: 1,
+		piercing.nose.weight: 1,
 		skill: {
 			vaginal: 15,
 			oral: 15,
@@ -4650,7 +4666,7 @@ App.Data.HeroSlaves.Dextreme = [
 		butt: 2,
 		face: 100,
 		lips: 25,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {
 			oral: 15,
 			entertainment: 100
@@ -4695,8 +4711,8 @@ App.Data.HeroSlaves.Dextreme = [
 		butt: 2,
 		face: 100,
 		lips: 15,
-		earPiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.navel.weight: 1,
 		skill: {
 			oral: 15,
 			entertainment: 100
diff --git a/src/npc/databases/ddSlavesDatabase.js b/src/npc/databases/ddSlavesDatabase.js
index b0a33c8f6d308f783baab53a22b0bf788cec976c..204bebb25586b1d4fe7234cb8309cbf65eb605b8 100644
--- a/src/npc/databases/ddSlavesDatabase.js
+++ b/src/npc/databases/ddSlavesDatabase.js
@@ -212,12 +212,13 @@ App.Data.HeroSlaves.DD = [
 		boobs: 1000,
 		boobsImplant: 600,
 		boobsImplantType: "normal",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		lips: 55,
 		lipsImplant: 10,
 		vagina: -1,
 		preg: -2,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "anal",
 		dick: 5,
 		anus: 2,
@@ -509,7 +510,7 @@ App.Data.HeroSlaves.DD = [
 		boobs: 1000,
 		boobsImplant: 600,
 		boobsImplantType: "normal",
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		lactation: 1,
 		lactationDuration: 2,
 		butt: 5,
@@ -517,7 +518,7 @@ App.Data.HeroSlaves.DD = [
 		buttImplantType: "normal",
 		lips: 35,
 		lipsImplant: 10,
-		lipsPiercing: 1,
+		piercing.lips.weight: 1,
 		vagina: 1,
 		preg: -2,
 		dick: 5,
@@ -533,7 +534,7 @@ App.Data.HeroSlaves.DD = [
 		attrXY: 40,
 		fetishKnown: 1,
 		custom: {tattoo: "$He has many girly tattoos.", desc: "$He likes hair play."},
-		navelPiercing: 1
+		piercing.navel.weight: 1,
 	},
 	{
 		ID: 800014,
@@ -556,7 +557,7 @@ App.Data.HeroSlaves.DD = [
 		hStyle: "braided",
 		hLength: 60,
 		boobs: 1800,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		shoulders: -1,
 		waist: -20,
 		hips: 1,
@@ -791,13 +792,13 @@ App.Data.HeroSlaves.DD = [
 		preg: -2,
 		dick: 5,
 		anus: 2,
-		dickPiercing: 1,
+		piercing.dick.weight: 1,
 		prostate: 1,
 		balls: 2,
 		scrotum: 2,
 		anusTat: "bleached",
-		earPiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.navel.weight: 1,
 		skill: {anal: 100, combat: 1},
 		addict: 50,
 		intelligence: 20,
@@ -807,7 +808,9 @@ App.Data.HeroSlaves.DD = [
 		fetish: "buttslut",
 		fetishKnown: 1,
 		behavioralFlaw: "odd",
-		custom: {desc: "$He has a large police badge made of polished silver pinned right to the skin with several barbell piercings just above $his left nipple. $He wears two pairs of handcuffs as bracelets (one pair on each wrist); the handcuff keyholes are welded, so they cannot be unlocked and removed in any normal way."},
+		piercing.areola.weight: 2,
+		piercing.areola.desc: "$He has a large police badge made of polished silver pinned right to the skin with several barbell piercings just above $his left nipple.",
+		custom: {desc: "$He wears two pairs of handcuffs as bracelets (one pair on each wrist); the handcuff keyholes are welded, so they cannot be unlocked and removed in any normal way."},
 		career: "a security guard"
 	},
 	{
@@ -839,7 +842,7 @@ App.Data.HeroSlaves.DD = [
 		anusTat: "flowers",
 		makeup: 1,
 		nails: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		shouldersTat: "tribal patterns",
 		armsTat: "rude words",
 		stampTat: "rude words",
@@ -873,7 +876,7 @@ App.Data.HeroSlaves.DD = [
 		boobs: 9200,
 		boobsImplant: 6000,
 		boobsImplantType: "advanced fillable",
-		nipplesPiercing: 2,
+		piercing.nipple.weight: 2,
 		boobsTat: "bovine patterns",
 		lactation: 2,
 		lactationDuration: 2,
@@ -886,28 +889,30 @@ App.Data.HeroSlaves.DD = [
 		faceImplant: 65,
 		lips: 55,
 		lipsImplant: 2,
-		lipsPiercing: 2,
+		piercing.lips.weight: 2,
 		lipsTat: "bovine patterns",
-		tonguePiercing: 2,
+		piercing.tongue.weight: 2,
 		vagina: 2,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		vaginaTat: "bovine patterns",
 		preg: -2,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
+		clitSetting: "boobs",
 		anus: 2,
 		dick: 5,
 		prostate: 1,
 		balls: 3,
 		scrotum: 2,
-		anusPiercing: 2,
+		piercing.anus.weight: 2,
 		anusTat: "bovine patterns",
 		makeup: 2,
 		nails: 2,
 		brand: {"right buttock": "SLUT"},
-		earPiercing: 2,
-		nosePiercing: 2,
-		eyebrowPiercing: 2,
-		navelPiercing: 2,
+		piercing.ear.weight: 2,
+		piercing.nose.weight: 2,
+		piercing.eyebrow.weight: 2,
+		piercing.navel.weight: 2,
 		shouldersTat: "bovine patterns",
 		armsTat: "bovine patterns",
 		legsTat: "bovine patterns",
@@ -953,7 +958,7 @@ App.Data.HeroSlaves.DD = [
 		hStyle: "ponytail",
 		pubicHStyle: "bushy",
 		boobs: 650,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		areolae: 2,
 		lactation: 2,
 		lactationDuration: 2,
@@ -961,15 +966,17 @@ App.Data.HeroSlaves.DD = [
 		lips: 35,
 		vagina: -1,
 		preg: -2,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
+		clitSetting: "off",
 		dick: 4,
 		prostate: 1,
 		balls: 5,
 		scrotum: 4,
-		anusPiercing: 1,
+		piercing.anus.weight: 1,
 		makeup: 1,
 		nails: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {entertainment: 35},
 		clothes: "cutoffs and a t-shirt",
 		collar: "pretty jewelry",
@@ -1016,17 +1023,19 @@ App.Data.HeroSlaves.DD = [
 		faceImplant: 65,
 		vagina: -1,
 		preg: -2,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
+		clitSetting: "off",
 		anus: 1,
 		dick: 5,
 		dickTat: "flowers",
 		prostate: 1,
 		balls: 2,
 		scrotum: 2,
-		anusPiercing: 1,
+		piercing.anus.weight: 1,
 		anusTat: "flowers",
 		brand: {"back": "your initials"},
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {oral: 15, anal: 15, entertainment: 15},
 		clothes: "a comfortable bodysuit",
 		collar: "pretty jewelry",
@@ -1071,8 +1080,8 @@ App.Data.HeroSlaves.DD = [
 		scrotum: 2,
 		makeup: 1,
 		nails: 1,
-		earPiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.navel.weight: 1,
 		skill: {oral: 15},
 		collar: "pretty jewelry",
 		shoes: "heels",
@@ -1117,7 +1126,7 @@ App.Data.HeroSlaves.DD = [
 		faceImplant: 15,
 		lips: 35,
 		lipsTat: "permanent makeup",
-		tonguePiercing: 1,
+		piercing.tongue.weight: 1,
 		vagina: -1,
 		preg: -2,
 		anus: 1,
@@ -1127,7 +1136,7 @@ App.Data.HeroSlaves.DD = [
 		scrotum: 4,
 		anusTat: "bleached",
 		nails: 3,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		legsTat: "flowers",
 		stampTat: "flowers",
 		skill: {oral: 100, anal: 100, whoring: 100},
@@ -1181,7 +1190,7 @@ App.Data.HeroSlaves.DD = [
 		scrotum: 2,
 		makeup: 1,
 		nails: 1,
-		earPiercing: 1,
+		piercing.ear.weight: 1,
 		skill: {oral: 15},
 		clothes: "a slutty maid outfit",
 		shoes: "heels",
@@ -1219,7 +1228,9 @@ App.Data.HeroSlaves.DD = [
 		face: 55,
 		lips: 35,
 		preg: -2,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
+		clitSetting: "off",
 		dick: 4,
 		prostate: 1,
 		balls: 4,
@@ -1281,7 +1292,8 @@ App.Data.HeroSlaves.DD = [
 		faceImplant: 65,
 		lips: 35,
 		vagina: 1,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "humiliation",
 		anus: 1,
 		dick: 5,
@@ -1401,7 +1413,7 @@ App.Data.HeroSlaves.DD = [
 		boobs: 1100,
 		boobsImplant: 400,
 		boobsImplantType: "normal",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		areolae: 1,
 		butt: 4,
 		buttImplant: 2,
@@ -1417,8 +1429,8 @@ App.Data.HeroSlaves.DD = [
 		anusTat: "bleached",
 		makeup: 3,
 		nails: 1,
-		earPiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.navel.weight: 1,
 		legsTat: "degradation",
 		stampTat: "degradation",
 		skill: {
@@ -1603,7 +1615,7 @@ App.Data.HeroSlaves.DDextreme = [
 		hStyle: "shaved",
 		waist: -55,
 		boobs: 100,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 1,
 		face: 15,
 		vagina: -1,
@@ -1613,9 +1625,9 @@ App.Data.HeroSlaves.DDextreme = [
 		balls: 3,
 		scrotum: 3,
 		anusTat: "bleached",
-		earPiercing: 1,
-		nosePiercing: 1,
-		navelPiercing: 1,
+		piercing.ear.weight: 1,
+		piercing.nose.weight: 1,
+		piercing.navel.weight: 1,
 		skill: {combat: 1},
 		intelligence: -40,
 		intelligenceImplant: 30,
@@ -1658,14 +1670,15 @@ App.Data.HeroSlaves.DDextreme = [
 		vagina: -1,
 		vaginaTat: "bovine patterns",
 		preg: -3,
-		clitPiercing: 3,
+		piercing.genitals.weight: 2,
+		piercing.genitals.smart: true,
 		clitSetting: "boobs",
 		anus: 2,
 		dick: 1,
 		dickTat: "bovine patterns",
 		prostate: 1,
 		anusTat: "bovine patterns",
-		nosePiercing: 2,
+		piercing.nose.weight: 2,
 		shouldersTat: "bovine patterns",
 		armsTat: "bovine patterns",
 		legsTat: "bovine patterns",
diff --git a/src/npc/databases/dfSlavesDatabase.js b/src/npc/databases/dfSlavesDatabase.js
index 8f7bda7f28c0cfecd1960a16f04547236ad43b8f..fa07bb40298774ab7bd5893dd67cc032a138a924 100644
--- a/src/npc/databases/dfSlavesDatabase.js
+++ b/src/npc/databases/dfSlavesDatabase.js
@@ -23,12 +23,12 @@ App.Data.HeroSlaves.DF = [
 		hLength: 60,
 		pubicHStyle: "waxed",
 		boobs: 500,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
 		lips: 35,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		ovaries: 1,
 		skill: {vaginal: 35},
@@ -37,7 +37,7 @@ App.Data.HeroSlaves.DF = [
 		fetishKnown: 1,
 		lipsTat: "Two cherries are tattooed on $his left cheek.",
 		buttTat: "Two cherries are tattooed on $his right butt cheek.",
-		clitPiercing: 2,
+		piercing.genitals.weight: 2,
 		counter: {birthsTotal: 1}
 	},
 	/* vag implant, vibe nips*/
@@ -65,7 +65,7 @@ App.Data.HeroSlaves.DF = [
 		boobs: 1000,
 		boobsImplant: 400,
 		boobsImplantType: "normal",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 5,
 		buttImplant: 2,
 		buttImplantType: "normal",
@@ -73,7 +73,7 @@ App.Data.HeroSlaves.DF = [
 		lipsImplant: 10,
 		vagina: 2,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		anus: 2,
 		ovaries: 1,
@@ -83,7 +83,7 @@ App.Data.HeroSlaves.DF = [
 		fetishKnown: 1,
 		lipsTat: "Strawberries are tattooed on $his left cheek.",
 		buttTat: "Strawberries are tattooed on $his right buttock.",
-		clitPiercing: 2,
+		piercing.genitals.weight: 2,
 		counter: {birthsTotal: 2}
 	},
 	/* vibe nips, muscles*/
@@ -110,13 +110,13 @@ App.Data.HeroSlaves.DF = [
 		boobs: 1800,
 		boobsImplant: 800,
 		boobsImplantType: "fillable",
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 4,
 		lips: 35,
 		lipsImplant: 10,
 		vagina: 2,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		anus: 2,
 		ovaries: 1,
@@ -127,8 +127,8 @@ App.Data.HeroSlaves.DF = [
 		lipsTat: "Watermelons are tattooed on $his face.",
 		buttTat: "Watermelons are tattooed on $his buttocks.",
 		teeth: "removable",
-		clitPiercing: 2,
-		lipsPiercing: 2,
+		piercing.genitals.weight: 2,
+		piercing.lips.weight: 2,
 		counter: {birthsTotal: 1}
 	},
 	/* vibe nips, saliva implant*/
@@ -153,14 +153,14 @@ App.Data.HeroSlaves.DF = [
 		hStyle: "in curly pigtails",
 		pubicHStyle: "waxed",
 		boobs: 650,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 8,
 		buttImplant: 4,
 		buttImplantType: "fillable",
 		lips: 35,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		anus: 3,
 		ovaries: 1,
@@ -170,8 +170,8 @@ App.Data.HeroSlaves.DF = [
 		fetishKnown: 1,
 		lipsTat: "Carambolas — starfruits — are tattooed on $his face.",
 		buttTat: "Carambolas — starfruits — are tattooed on $his buttocks.",
-		clitPiercing: 2,
-		tonguePiercing: 1,
+		piercing.genitals.weight: 2,
+		piercing.tongue.weight: 1,
 		clothes: "no clothing",
 		collar: "bell collar",
 		heels: 1
@@ -191,12 +191,12 @@ App.Data.HeroSlaves.DF = [
 		pubicHColor: "black",
 		origSkin: "brown",
 		boobs: 400,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 5,
 		lips: 35,
 		vagina: 2,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		anus: 2,
 		ovaries: 1,
@@ -207,7 +207,7 @@ App.Data.HeroSlaves.DF = [
 		lipsTat: "Bananas are tattooed on $his face.",
 		buttTat: "Bananas are tattooed on $his buttocks.",
 		teeth: "removable",
-		clitPiercing: 2,
+		piercing.genitals.weight: 2,
 		hips: 1,
 		labia: 2,
 		clit: 1,
@@ -238,11 +238,11 @@ App.Data.HeroSlaves.DF = [
 		hStyle: "neat",
 		pubicHStyle: "waxed",
 		boobs: 650,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 4,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		anus: 1,
 		ovaries: 1,
@@ -254,7 +254,7 @@ App.Data.HeroSlaves.DF = [
 		buttTat: "Green grapes are tattooed on $his buttocks.",
 		mother: -9995,
 		father: -9994,
-		clitPiercing: 2,
+		piercing.genitals.weight: 2,
 		intelligence: -60
 	},
 	/* vibe nips, implant link to sister*/
@@ -277,11 +277,11 @@ App.Data.HeroSlaves.DF = [
 		hStyle: "neat",
 		pubicHStyle: "waxed",
 		boobs: 650,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 4,
 		vagina: 1,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		anus: 1,
 		ovaries: 1,
@@ -293,7 +293,7 @@ App.Data.HeroSlaves.DF = [
 		buttTat: "Purple grapes are tattooed on $his buttocks.",
 		mother: -9995,
 		father: -9994,
-		clitPiercing: 2,
+		piercing.genitals.weight: 2,
 		intelligence: -60
 	},
 	/* vibe nips, implant link to sister */
@@ -317,13 +317,13 @@ App.Data.HeroSlaves.DF = [
 		hStyle: "neat",
 		pubicHStyle: "waxed",
 		boobs: 500,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 3,
 		lips: 55,
 		lipsTat: "permanent makeup",
 		vagina: 3,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		ovaries: 1,
 		skill: {vaginal: 15, oral: 35},
@@ -335,7 +335,7 @@ App.Data.HeroSlaves.DF = [
 		custom: {tattoo: "Cored apples are tattooed on $his face."},
 		buttTat: "Cored apples are tattooed on $his buttocks.",
 		intelligence: -60,
-		clitPiercing: 2
+		piercing.genitals.weight: 2,
 	},
 	/* vibe nips, stupid, sensitive, no masturbation implant*/
 ];
@@ -364,12 +364,12 @@ App.Data.HeroSlaves.DFextreme = [
 		hStyle: "wavy",
 		pubicHStyle: "waxed",
 		boobs: 400,
-		nipplesPiercing: 1,
+		piercing.nipple.weight: 1,
 		butt: 2,
 		lips: 35,
 		vagina: 5,
 		vaginaLube: 1,
-		vaginaPiercing: 2,
+		piercing.vagina.weight: 2,
 		preg: -2,
 		anus: 2,
 		ovaries: 1,
@@ -379,9 +379,9 @@ App.Data.HeroSlaves.DFextreme = [
 		fetishKnown: 1,
 		lipsTat: "Cored plums are tattooed on $his face.",
 		buttTat: "Cored plums are tattooed on $his buttocks.",
-		custom: {desc: "$He has massive C-clamp piercings in $his back that allow $him to act as furniture, and a truly enormous vagina."},
-		clitPiercing: 2,
-		corsetPiercing: 1,
+		piercing.genitals.weight: 2,
+		piercing.corset.weight: 1,
+		piercing.corset.desc: "$He has massive C-clamp piercings in $his back that allow $him to act as furniture",
 		sexualFlaw: "self hating",
 		clothes: "no clothing",
 		vaginalAccessory: "long, huge dildo"