From ab5a989eaa2b1e30b754549ff63c3054102c37b2 Mon Sep 17 00:00:00 2001
From: DCoded <dcoded@live.com>
Date: Mon, 18 Mar 2019 23:38:09 -0400
Subject: [PATCH] Smart bullet vibrator setup

---
 slave variables documentation - Pregmod.txt |  1 +
 src/art/vector/VectorArtJS.js               |  2 +-
 src/init/setupVars.tw                       |  1 +
 src/js/SlaveState.js                        |  1 +
 src/js/itemAvailability.js                  |  1 +
 src/js/slaveSummaryWidgets.js               |  8 ++-
 src/pregmod/saClothes.tw                    |  2 +
 src/uncategorized/saLongTermEffects.tw      | 70 ++++++++++-----------
 src/uncategorized/slaveInteract.tw          | 12 +++-
 src/uncategorized/wardrobeUse.tw            | 16 ++++-
 src/utility/descriptionWidgetsStyle.tw      |  2 +
 11 files changed, 75 insertions(+), 41 deletions(-)

diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt
index 2032d4c9796..e0a9a146c18 100644
--- a/slave variables documentation - Pregmod.txt	
+++ b/slave variables documentation - Pregmod.txt	
@@ -2639,6 +2639,7 @@ vaginalAccessory:
 may accept strings, use at own risk
 "none"
 "bullet vibrator"
+"smart bullet vibrator"
 "dildo"
 "large dildo"
 "huge dildo"
diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js
index 388a856059c..c8bdd34f7f4 100644
--- a/src/art/vector/VectorArtJS.js
+++ b/src/art/vector/VectorArtJS.js
@@ -1029,7 +1029,7 @@ window.VectorArt = (function () {
 							r += jsInclude("Art_Vector_Dildo_Huge");
 						else if (slave.vaginalAccessory === "long, huge dildo")
 							r += jsInclude("Art_Vector_Dildo_Huge_Long");
-					} else if (slave.vaginalAccessory === "bullet vibrator") {
+					} else if (slave.vaginalAccessory === "bullet vibrator" || slave.vaginalAccessory === "smart bullet vibrator") {
 						r += jsInclude("Art_Vector_Bullet_Vibrator");
 					}
 			}
diff --git a/src/init/setupVars.tw b/src/init/setupVars.tw
index 4f7b2f2feb5..d4fc0bab886 100644
--- a/src/init/setupVars.tw
+++ b/src/init/setupVars.tw
@@ -2073,6 +2073,7 @@ Then pick _namePool.random(), or display those names as possible choices, or do
 	{name: "No default setting", value: "no default setting"},
 	{name: "None", value: "none"},
 	{name: "Bullet vibrator", value: "bullet vibrator"},
+	{name: "Smart bullet vibrator", value: "smart bullet vibrator"},
 	{name: "Dildo", value: "dildo"},
 	{name: "Long dildo", value: "long dildo", rs: "buyBigDildos"},
 	{name: "Large dildo", value: "large dildo"},
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index 6f2ac8dac9f..429ca8b409f 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -1547,6 +1547,7 @@ App.Entity.SlaveState = class SlaveState {
 		 * may accept strings, use at own risk
 		 * * "none"
 		 * * "bullet vibrator"
+		 * * "smart bullet vibrator"
 		 * * "dildo"
 		 * * "large dildo"
 		 * * "huge dildo"
diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index 329776772f1..393cc362242 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -136,6 +136,7 @@ window.isItemAccessible = function(string) {
 		case 'a huge empathy belly':
 			return (V.arcologies[0].FSRepopulationFocus > 0 || V.clothesBoughtBelly === 1);
 		case 'bullet vibrator':
+		case 'smart bullet vibrator':
 		case 'long dildo':
 		case 'long, large dildo':
 		case 'long, huge dildo':
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index fa8ff6642dd..ab68ba210e7 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -4628,6 +4628,9 @@ window.SlaveSummaryUncached = (function(){
 				case "bullet vibrator":
 					r += `Attached bullet vibrator.`;
 					break;
+				case "smart bullet vibrator":
+					r += `Attached smart bullet vibrator.`;
+					break;
 				case "dildo":
 					r += `Vaginal dildo.`;
 					break;
@@ -4665,9 +4668,12 @@ window.SlaveSummaryUncached = (function(){
 			case "sock":
 				r += `Cock sock.`;
 				break;
-			case "vibrator":
+			case "bullet vibrator":
 				r += `Frenulum bullet vibrator.`;
 				break;
+			case "smart bullet vibrator":
+				r += `Frenulum smart bullet vibrator.`;	// FIXME: "smart frenulum bullet vibrator"?
+				break;
 		}
 		r += " ";
 	}
diff --git a/src/pregmod/saClothes.tw b/src/pregmod/saClothes.tw
index 0a1dff8fdd2..82d3055e045 100644
--- a/src/pregmod/saClothes.tw
+++ b/src/pregmod/saClothes.tw
@@ -641,6 +641,8 @@
 <<if ($slaves[$i].vaginalAccessory != "none")>>
 	<<if ($slaves[$i].vaginalAttachment == "bullet vibrator")>>
 		/* TODO: add effects here */
+	<<elseif ($slaves[$i].vaginalAttachment == "smart bullet vibrator")>>
+		/* TODO: add effects here */
 	<<elseif ($slaves[$i].vaginalAccessory == "dildo")>>
 		<<if ($slaves[$i].vagina < 1) && (random(1,100) > 50)>>
 			Constantly wearing a dildo in $his virgin pussy @@.lime;gets it used to penetration.@@
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index fc63525ccba..e6affcc39af 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -1605,7 +1605,7 @@
 		<<switch $slaves[$i].clitSetting>>
 		<<case "none">>
 			$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-			<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+			<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 				and the bullet vibrator $he is wearing disrupt arousal, @@.red;reducing $his sex drive@@ and @@.mediumorchid;infuriating $him.@@
 				<<set $slaves[$i].devotion -= 3>>
 				<<if $slaves[$i].energy > 5>>
@@ -1633,7 +1633,7 @@
 		<<case "all">>
 			<<if $slaves[$i].energy <= 95>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing encourage sex of all kinds, @@.green;increasing $his sex drive.@@
 					<<set $slaves[$i].energy += 5>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1647,7 +1647,7 @@
 		<<case "women">>
 			<<if $slaves[$i].attrXX < 95>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing successfully @@.green;increase $his attraction to girls@@ by pleasuring $him when $he's around them.
 					<<set $slaves[$i].attrXX += 6+$assistant+$assistant>>
 					<<if $slaves[$i].energy < 80>>
@@ -1673,7 +1673,7 @@
 		<<case "anti-women">>
 			<<if $slaves[$i].attrXX > 0>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing successfully @@.green;suppress $his attraction to girls@@ by making $his private parts very uncomfortable when $he's around them.
 					<<set $slaves[$i].attrXX -= Math.clamp($slaves[$i].attrXX-(6+$assistant+$assistant),0,100)>>
 					<<if $slaves[$i].energy > 0>>
@@ -1699,7 +1699,7 @@
 		<<case "men">>
 			<<if $slaves[$i].attrXY < 95>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing successfully @@.green;increase $his attraction to guys@@ by pleasuring $him when $he's around cocks.
 					<<set $slaves[$i].attrXY += 6+$assistant+$assistant>>
 					<<if $slaves[$i].energy < 80>>
@@ -1725,7 +1725,7 @@
 		<<case "anti-men">>
 			<<if $slaves[$i].attrXY > 0>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing successfully @@.green;suppress $his attraction to guys@@ by making $his private parts very uncomfortable when $he's around them.
 					<<set $slaves[$i].attrXY -= Math.clamp($slaves[$i].attrXY-(6+$assistant+$assistant),0,100)>>
 					<<if $slaves[$i].energy > 0>>
@@ -1751,7 +1751,7 @@
 		<<case "vanilla">>
 			<<if ($slaves[$i].fetish != "none") && (_fetishChangeChance > random(0,100)-20*$assistant)>>
 				After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing encourage many orgasms during straightforward sex, @@.coral;$his sexuality returns to normal.@@
 					<<set $slaves[$i].fetish = "none", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1766,7 +1766,7 @@
 			<<if ($slaves[$i].fetish != "cumslut")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $he's using $his mouth.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1778,7 +1778,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms as $he performs oral sex, @@.lightcoral;$he develops a fetish for cum.@@
 						<<set $slaves[$i].fetish = "cumslut", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1791,7 +1791,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his oral fetish.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1806,7 +1806,7 @@
 			<<if ($slaves[$i].fetish != "buttslut")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $his rear hole is being fucked.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1818,7 +1818,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms when $his ass is being stimulated, @@.lightcoral;$he develops a fetish for being an anal bottom.@@
 						<<set $slaves[$i].fetish = "buttslut", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1831,7 +1831,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his anal fetish.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1846,7 +1846,7 @@
 			<<if ($slaves[$i].fetish != "boobs")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $his tits are being touched.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1858,7 +1858,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms when $his nipples are being stimulated, @@.lightcoral;$he develops a fetish for $his tits.@@
 						<<set $slaves[$i].fetish = "boobs", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1871,7 +1871,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his boob fetish.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1886,7 +1886,7 @@
 			<<if ($slaves[$i].fetish != "submissive")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $he's being held down and used.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1898,7 +1898,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms when $he is restrained, @@.lightcoral;$he develops a fetish for submission.@@
 						<<set $slaves[$i].fetish = "submissive", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1911,7 +1911,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his submission.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1926,7 +1926,7 @@
 			<<if ($slaves[$i].fetish != "humiliation")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $he's got an audience.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1938,7 +1938,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms when $he is being humiliated, @@.lightcoral;$he develops a fetish for humiliation.@@
 						<<set $slaves[$i].fetish = "humiliation", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1951,7 +1951,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his humiliation fetish.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1966,7 +1966,7 @@
 			<<if ($slaves[$i].fetish != "pregnancy")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $he feels like $he's being bred.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1978,7 +1978,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms during <<if $PC.dick == 1>>unprotected sex<<if $PC.vagina == 1>> and <</if>><</if>><<if $PC.vagina == 1>>loving contact with the female anatomy<</if>>, @@.lightcoral;$he begins to fantasize about pregnancy.@@
 						<<set $slaves[$i].fetish = "pregnancy", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -1991,7 +1991,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his pregnancy fetish.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2006,7 +2006,7 @@
 			<<if ($slaves[$i].fetish != "dom")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when another slave is servicing $him.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2018,7 +2018,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms while $he's taking an active, dominant sexual role, @@.lightcoral;$he begins to enjoy dominance.@@
 						<<set $slaves[$i].fetish = "dom", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2031,7 +2031,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his dominance.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2046,7 +2046,7 @@
 			<<if ($slaves[$i].fetish != "masochist")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $he's being hurt.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2058,7 +2058,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms while $he's being beaten, @@.lightcoral;$he begins to enjoy pain.@@
 						<<set $slaves[$i].fetish = "masochist", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2071,7 +2071,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his masochism.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2086,7 +2086,7 @@
 			<<if ($slaves[$i].fetish != "sadist")>>
 				<<if $slaves[$i].fetishStrength >= 10>>
 					$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>>
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing act to @@.coral;suppress $his current fetish,@@ encouraging $him to orgasm when $he witnesses or even takes part in another slave's pain.
 						<<set $slaves[$i].fetishStrength -= 30>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2098,7 +2098,7 @@
 					<</if>>
 				<<elseif (_fetishChangeChance > random(0,100)-20*$assistant)>>
 					After $his smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-					<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+					<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 						and the bullet vibrator $he is wearing encourage many orgasms while $he's involved in the abuse of other slaves, @@.lightcoral;$he begins to develop a sadistic streak.@@
 						<<set $slaves[$i].fetish = "sadist", $slaves[$i].fetishKnown = 1, $slaves[$i].fetishStrength = 15>>
 					<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2111,7 +2111,7 @@
 				<</if>>
 			<<elseif ($slaves[$i].fetishStrength <= 95)>>
 				$His smart <<if $slaves[$i].vagina > -1>>clit<<else>>frenulum<</if>> piercing
-				<<if $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+				<<if ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 					and the bullet vibrator $he is wearing @@.lightcoral;advance $his sadism.@@
 					<<set $slaves[$i].fetishStrength += 6>>
 				<<elseif $slaves[$i].vaginalAttachment == "vibrator">>
@@ -2124,7 +2124,7 @@
 			<</if>>
 		<</switch>>
 	<</if>>
-<<elseif $slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].dickAccessory == "bullet vibrator">>
+<<elseif ($slaves[$i].vaginalAccessory == "bullet vibrator" || $slaves[$i].vaginalAccessory == "smart bullet vibrator") || $slaves[$i].dickAccessory == "bullet vibrator">>
 	<<if $slaves[$i].fetish == "mindbroken">>
 		The effects of the bullet vibrator $he is wearing cannot reach $his shattered mind.
 	<<else>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 22d32a04353..59d8912207a 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -1058,6 +1058,9 @@
 		<<if isItemAccessible("bullet vibrator")>>	
 			| <<link "Bullet vibrator">><<set $activeSlave.vaginalAccessory = "bullet vibrator">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><</link>>
 		<</if>>
+		<<if isItemAccessible("smart bullet vibrator")>>
+			| <<link "Smart bullet vibrator">><<set $activeSlave.vaginalAccessory = "smart bullet vibrator">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><</link>>
+		<</if>>
 		| <<link "Dildo">><<set $activeSlave.vaginalAccessory = "dildo">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><</link>>
 		<<if isItemAccessible("long dildo") && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>>
 			| <<link "Long dildo">><<set $activeSlave.vaginalAccessory = "long dildo">><<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>><</link>>
@@ -1085,7 +1088,10 @@
 		<br>Dick accessory: ''<span id="dickAccessory">$activeSlave.dickAccessory</span>.''
 		<<link "None">><<set $activeSlave.dickAccessory = "none">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><<SlaveInteractSexOption>><<SlaveInteractAnalSexOption>><<SlaveInteractGropeOption>><<SlaveInteractDickGropeOption>><<SlaveInteractAnalGropeOption>><</link>>
 		<<if isItemAccessible("bullet vibrator") && $toysBoughtVaginalAttachments == 1>>
-			<<link "Bullet vibrator">><<set $activeSlave.dickAccessory = "bullet vibrator">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><</link>>
+			| <<link "Bullet vibrator">><<set $activeSlave.dickAccessory = "bullet vibrator">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><</link>>
+		<</if>>
+		<<if isItemAccessible("smart bullet vibrator") && $toysBoughtVaginalAttachments == 1>>
+			| <<link "Smart bullet vibrator">><<set $activeSlave.dickAccessory = "smart bullet vibrator">><<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>><</link>>
 		<</if>>
 	<</if>>
 
@@ -1659,7 +1665,7 @@ Hormones: <strong><span id="hormones">
 	<</if>>
 <</if>>
 
-<<if $activeSlave.clitPiercing == 3 || $activeSlave.vaginalAccessory == "bullet vibrator">>
+<<if $activeSlave.clitPiercing == 3 || $activeSlave.vaginalAccessory == "smart bullet vibrator">>
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;
 	<<if $activeSlave.clitPiercing == 3>>
 		<<if $activeSlave.dick < 1>>
@@ -1668,7 +1674,7 @@ Hormones: <strong><span id="hormones">
 			$His smart frenulum piercing is set to
 		<</if>>
 	<<else>>
-		$His bullet vibe is set to
+		$His smart bullet vibe is set to
 	<</if>>
 	<strong><span id="setting">$activeSlave.clitSetting</span></strong>.
 	<<link "Vanilla">><<set $activeSlave.clitSetting = "vanilla">><<replace "#setting">>$activeSlave.clitSetting<</replace>><</link>>
diff --git a/src/uncategorized/wardrobeUse.tw b/src/uncategorized/wardrobeUse.tw
index 6aeecb15450..aa8b05d2e31 100644
--- a/src/uncategorized/wardrobeUse.tw
+++ b/src/uncategorized/wardrobeUse.tw
@@ -1111,6 +1111,14 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 			<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
 		<</link>>
 	<</if>>
+	<<if isItemAccessible("smart bullet vibrator")>>
+		| <<link "Smart bullet vibrator">>
+			<<set $activeSlave.vaginalAccessory = "smart bullet vibrator">>
+			<<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>>
+			<<replace "#vaginalAccessoryDescription">>//<<vaginalAccessoryDescription>>//<</replace>>
+			<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
+		<</link>>
+	<</if>>
 	| <<link "Dildo">>
 		<<set $activeSlave.vaginalAccessory = "dildo">>
 		<<replace "#vaginalAccessory">>$activeSlave.vaginalAccessory<</replace>>
@@ -1155,7 +1163,7 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 			<</link>>
 		<</if>>
 	<</if>>
-	<<if isItemAccessible("vibrator") && $activeSlave.vaginalAccessory != "none" && $activeSlave.vaginalAccessory != "bullet vibrator" && $toysBoughtVaginalAttachments == 1>>
+	<<if isItemAccessible("vibrator") && $activeSlave.vaginalAccessory != "none" && ($activeSlave.vaginalAccessory != "bullet vibrator" && $activeSlave.vaginalAccessory != "smart bullet vibrator") && $toysBoughtVaginalAttachments == 1>>
 		<br><br>
 		Vaginal accessory attachment:
 		''<span id="vaginalAttachment">$activeSlave.vaginalAttachment</span>.''
@@ -1196,6 +1204,12 @@ Clothes: ''<span id="clothes">$activeSlave.clothes</span>.''
 			<<replace "#dickAccessoryDescription">>//<<dickAccessoryDescription>>//<</replace>>
 			<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
 		<</link>>
+		| <<link "Smart bullet vibrator">>
+			<<set $activeSlave.dickAccessory = "smart bullet vibrator">>
+			<<replace "#dickAccessory">>$activeSlave.dickAccessory<</replace>>
+			<<replace "#dickAccessoryDescription">>//<<dickAccessoryDescription>>//<</replace>>
+			<<replace "#buttplugDescription">>//<<buttplugDescription>>//<</replace>>
+		<</link>>
 	<</if>>
 <</if>>
 <br><br>
diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw
index e29a790e5b1..f7c5ac665f4 100644
--- a/src/utility/descriptionWidgetsStyle.tw
+++ b/src/utility/descriptionWidgetsStyle.tw
@@ -5887,6 +5887,8 @@ $His
 <<switch $activeSlave.vaginalAccessory>>
 <<case "bullet vibrator">>
 	/* TODO: write a description */
+<<case "smart bullet vibrator">>
+	/* TODO: write a description */
 <<case "dildo">>
 	/* TODO: these may need to be updated for slaves with gaping+ vaginas */
 	$His pussy is filled by a dildo held in place by a strap, which $he can remove for vaginal intercourse.
-- 
GitLab