diff --git a/game/base-clothing/clothing-lower.js b/game/base-clothing/clothing-lower.js
index b06dee506c849e3adccd6b9fc5bee86eb7a6941c..17a21c903471260eedb21c16d217704c7524a994 100644
--- a/game/base-clothing/clothing-lower.js
+++ b/game/base-clothing/clothing-lower.js
@@ -5826,6 +5826,51 @@ function initLower() {
 			outfitSecondary: ["upper", "jingle-bell dress"],
 		},
 
+		{
+			index: 124,
+			name: "sleeveless jingle-bell skirt",
+			name_cap: "jingle-bell skirt",
+			variable: "jingledresssleeveless",
+			integrity: 120,
+			integrity_max: 120,
+			fabric_strength: 30,
+			reveal: 350,
+			rearresize: 0,
+			word: "a",
+			one_piece: 1,
+			skirt: 1,
+			skirt_down: 1,
+			short: 0,
+			state: "waist",
+			state_base: "waist",
+			plural: 0,
+			colour: 0,
+			colour_options: [],
+			colour_combat: "red",
+			exposed: 0,
+			exposed_base: 0,
+			vagina_exposed: 1,
+			vagina_exposed_base: 1,
+			anus_exposed: 1,
+			anus_exposed_base: 1,
+			type: ["costume"],
+			set: "jingledresssleeveless",
+			gender: "f",
+			femininity: 200,
+			warmth: 70,
+			cost: 0,
+			description: "Festive.",
+			shop: ["forest"],
+			accessory: 0,
+			accessory_colour: 0,
+			accessory_colour_options: [],
+			high_img: 0,
+			back_img: 0,
+			cursed: 0,
+			location: 0,
+			outfitSecondary: ["upper", "sleeveless jingle-bell dress"],
+		},
+
 	];
 
 	/*
diff --git a/game/base-clothing/clothing-upper.js b/game/base-clothing/clothing-upper.js
index 42c1a2a7964557c32c913c7e48f773d2272da3ba..854b219e24b37fc43f7cddb0262f388c26ccc16a 100644
--- a/game/base-clothing/clothing-upper.js
+++ b/game/base-clothing/clothing-upper.js
@@ -6132,7 +6132,7 @@ function initUpper() {
 			exposed: 0,
 			exposed_base: 0,
 			type: ["costume"],
-			set: "jingledress",
+			set: "jingledresssleeveless",
 			gender: "f",
 			femininity: 200,
 			warmth: 70,
@@ -6148,7 +6148,7 @@ function initUpper() {
 			cursed: 0,
 			location: 0,
 			iconFile: "jinglebell_dress.png",
-			outfitPrimary: { lower: "jingle-bell skirt" },
+			outfitPrimary: { lower: "sleeveless jingle-bell skirt" },
 			notuck: 0,
 			pregType: 0,
 		},
diff --git a/game/overworld-forest/loc-asylum/widgets.twee b/game/overworld-forest/loc-asylum/widgets.twee
index 380b681c850e2cde0f4c53268abd3904fdfa7c09..2ec47ecda89941ef4aa60b82166085cdc8ae7396 100644
--- a/game/overworld-forest/loc-asylum/widgets.twee
+++ b/game/overworld-forest/loc-asylum/widgets.twee
@@ -278,7 +278,7 @@
 		<br><br>
 
 		<<if $asylumdistracted is 1>>
-			<<link [[Attack|Asylum Fight]]>><<suspicion 15>><<trauma -6>><<stress -6>><<set $fightstart to 1>><</link>><<gggsuspicion>><<gggsuspicion>><<ltrauma>><<lstress>>
+			<<link [[Attack|Asylum Fight]]>><<suspicion 15>><<trauma -6>><<stress -6>><<set $fightstart to 1>><</link>><<gggsuspicion>><<ltrauma>><<lstress>>
 			<br>
 		<<else>>
 			<<link [[Attack|Asylum Punish]]>><<suspicion 15>><<trauma -6>><<stress -6>><</link>><<gggsuspicion>><<ltrauma>><<lstress>>
diff --git a/game/overworld-town/loc-shop/clothing-v2.twee b/game/overworld-town/loc-shop/clothing-v2.twee
index dcf2091c2501be783f41bef47d7c92bf3acbecdc..de0b3f730fb30458bba0c8ee84f1d38d5ca22bc6 100644
--- a/game/overworld-town/loc-shop/clothing-v2.twee
+++ b/game/overworld-town/loc-shop/clothing-v2.twee
@@ -288,8 +288,8 @@
 			<<set _item = clone(_itemTemp)>>
 			<<set $_realSlot to ($clothingShopSlot is "all" ? _item.realSlot : $clothingShopSlot)>>
 			<<set _itemData = setup.clothes[$_realSlot][clothesIndex($_realSlot,_item)]>>
-			<<set _locked = $specialClothes[_item.name.replace(/ /g,"")] is "locked">>
-			<<set _unlocked = $specialClothes[_item.name.replace(/ /g,"")] is "unlocked">>
+			<<set _locked = $specialClothes[_item.name.replace(/[- ]/g,"")] is "locked">>
+			<<set _unlocked = $specialClothes[_item.name.replace(/[- ]/g,"")] is "unlocked">>
 			<div class="clothing-item div-link">
 				<!-- Clothing icon -->
 				<div @class="'clothing-icon ' + _compact">
@@ -394,7 +394,7 @@
 					<<if _locked>>
 						<div class="locked-hint">
 							<<specialClothesHint>>
-							<<print _specialClothesHint[_item.name.replace(/ /g,"")]>>
+							<<print _specialClothesHint[_item.name.replace(/[- ]/g,"")]>>
 						</div>
 					<<else>>
 						<!-- Price tag -->
@@ -492,7 +492,7 @@
 		<<set _realIndex to _temp_choice.index>>
 
 		<!-- Unlocked text -->
-		<<if $specialClothes[_temp_choice.name.replace(/ /g,"")] is "unlocked">>
+		<<if $specialClothes[_temp_choice.name.replace(/[- ]/g,"")] is "unlocked">>
 			<<specialClothesHint>>
 			<div class="unlocked-hint">
 				<span class="gold">Unlocked | </span><span class="grey"><<print _specialClothesHint[_temp_choice.name.replace(/ /g,"")]>></span>
@@ -1774,7 +1774,7 @@
 	<<if $earSlime.forcedCommando isnot undefined or ($worn.under_lower.type.includes("naked") and setup.clothes.under_lower.find(item => {
 		if (!item.shop.includes($shopName) or $money lt getClothingCost(item, "under_lower")) return false;
 		if (playerBellySize() >= 12 and item.type.includes("constricting")) return false;
-		if (V.earSlime.forcedDressing and V.earSlime.forcedDressing.days gt 0 and item.gender isnot V.earSlime.forcedDressing.type and item.gender isnot "n" and !item.type.includesAny("event")) return false;		
+		if (V.earSlime.forcedDressing and V.earSlime.forcedDressing.days gt 0 and item.gender isnot V.earSlime.forcedDressing.type and item.gender isnot "n" and !item.type.includesAny("event")) return false;
 		return true;
 	}))>>
 		<<set $worn.under_lower.exposedType to "notBought">>
diff --git a/game/overworld-town/loc-shop/widgets.twee b/game/overworld-town/loc-shop/widgets.twee
index cf828678bb921f7b53855a24300d7a7187f0646a..d4b2858f64370ea8565b69cf9cd3769e0c26c620 100644
--- a/game/overworld-town/loc-shop/widgets.twee
+++ b/game/overworld-town/loc-shop/widgets.twee
@@ -358,7 +358,7 @@ Forth argument - item index*/
 				<<continue>>
 			<</if>>
 			<<clothingicon _item $clothingShopSlot>>
-			<<if $specialClothes[_item.name.replace(/ /g,"")] is "locked">>
+			<<if $specialClothes[_item.name.replace(/[- ]/g,"")] is "locked">>
 				<span class="lblue">_itemData.name_cap</span>
 			<<else>>
 				<<capture _item _itemData _i>>
@@ -375,14 +375,14 @@ Forth argument - item index*/
 			<<elseif _item.gender is "f">>
 				<span class="pink">♀</span>
 			<</if>>
-			<<if $specialClothes[_item.name.replace(/ /g,"")] isnot undefined>>
-				<<if $specialClothes[_item.name.replace(/ /g,"")] is "locked">>
+			<<if $specialClothes[_item.name.replace(/[- ]/g,"")] isnot undefined>>
+				<<if $specialClothes[_item.name.replace(/[- ]/g,"")] is "locked">>
 					<span class="black">Locked</span>
-				<<elseif $specialClothes[_item.name.replace(/ /g,"")] is "unlocked">>
+				<<elseif $specialClothes[_item.name.replace(/[- ]/g,"")] is "unlocked">>
 					<span class="gold">Unlocked</span>
 				<</if>>
 				<<specialClothesHint>>
-				- <<print _specialClothesHint[_item.name.replace(/ /g,"")]>>
+				- <<print _specialClothesHint[_item.name.replace(/[- ]/g,"")]>>
 			<</if>>
 			<br>
 		<</for>>
@@ -1018,7 +1018,8 @@ Forth argument - item index*/
 		<<set $specialClothes to {
 			"witchdress":"locked",
 			"christmasdress":"locked",
-			"jingle-belldress":"locked",
+			"jinglebelldress":"locked",
+			"sleevelessjinglebelldress":"locked",
 			"serafuku":"locked",
 			"vampirejacket":"locked",
 			"slutshirt":"locked",
@@ -1142,6 +1143,12 @@ Forth argument - item index*/
 	<<if $specialClothes.islandermask is undefined>>
 		<<set $specialClothes.islandermask to "locked">>
 	<</if>>
+	<<if $specialClothes.sleevelessjinglebelldress is undefined>>
+		<<set $specialClothes.sleevelessjinglebelldress to "locked">>
+	<</if>>
+	<<if $specialClothes.jinglebelldress is undefined>>
+		<<set $specialClothes.jinglebelldress to "locked">>
+	<</if>>
 <</widget>>
 
 <<widget "specialClothesUpdate">>
@@ -1177,7 +1184,8 @@ Forth argument - item index*/
 		<<set $specialClothes["christmashat"] to "unlocked">>
 		<<set $specialClothes["christmaslegwarmers"] to "unlocked">>
 		<<set $specialClothes["minisnowman"] to "unlocked">>
-		<<set $specialClothes["jingle-belldress"] to "unlocked">>
+		<<set $specialClothes["jinglebelldress"] to "unlocked">>
+		<<set $specialClothes["sleevelessjinglebelldress"] to "unlocked">>
 	<</if>>
 	<<if $valentines is 1>>
 		<<set $specialClothes["rose"] to "unlocked">>
@@ -1249,7 +1257,8 @@ Forth argument - item index*/
 		<<set _specialClothesHint to {
 			"witchdress":"In stock from the 21st of October.",
 			"christmasdress":"In stock from the 18th of December.",
-			"jingle-belldress":"In stock from the 18th of December.",
+			"jinglebelldress":"In stock from the 18th of December.",
+			"sleevelessjinglebelldress":"In stock from the 18th of December.",
 			"serafuku":"Discover the headteacher's secret.",
 			"vampirejacket":"In stock from the 21st of October.",
 			"slutshirt":"Survive slavery in an underground brothel.",
diff --git a/game/overworld-town/special-robin/widgets.twee b/game/overworld-town/special-robin/widgets.twee
index d45d73e7d97b69259cef57c63e5a241bfbbc2537..004e740911e31072c1e7a46c10909c76fd0f3c7b 100644
--- a/game/overworld-town/special-robin/widgets.twee
+++ b/game/overworld-town/special-robin/widgets.twee
@@ -881,7 +881,7 @@
 <</widget>>
 
 <<widget "popcornEat">>
-	<<silently>><<clotheson>><<set $popcorn -=1>><</silently>>
+	<<silently>><<clotheson>><<set $popcorn -=1>><<trauma -6>><</silently>>
 <</widget>>
 
 <<widget "popcornSpill">>
diff --git a/img/clothes/lower/jingledresssleeveless/frayed.png b/img/clothes/lower/jingledresssleeveless/frayed.png
new file mode 100644
index 0000000000000000000000000000000000000000..2444c57f19d3295ce3bb7204df32c56acc5ecad4
Binary files /dev/null and b/img/clothes/lower/jingledresssleeveless/frayed.png differ
diff --git a/img/clothes/lower/jingledresssleeveless/full.png b/img/clothes/lower/jingledresssleeveless/full.png
new file mode 100644
index 0000000000000000000000000000000000000000..075e28df14c6a401af9cae9d9b50e3b54c685a24
Binary files /dev/null and b/img/clothes/lower/jingledresssleeveless/full.png differ
diff --git a/img/clothes/lower/jingledresssleeveless/tattered.png b/img/clothes/lower/jingledresssleeveless/tattered.png
new file mode 100644
index 0000000000000000000000000000000000000000..80ffa5de4d50fd27a4a7c16aae2d1ebdd92db5fd
Binary files /dev/null and b/img/clothes/lower/jingledresssleeveless/tattered.png differ
diff --git a/img/clothes/lower/jingledresssleeveless/torn.png b/img/clothes/lower/jingledresssleeveless/torn.png
new file mode 100644
index 0000000000000000000000000000000000000000..51b68ca89bff40dbb86ddebc608fbb1ecd873342
Binary files /dev/null and b/img/clothes/lower/jingledresssleeveless/torn.png differ